Youice

Y_VLASER V1.4.4

Nov 15th, 2014
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.55 KB | None | 0 0
  1. // -YOUICE 2014
  2.  
  3. //Y_Vehicle Lasers (V1.4.4)
  4.  
  5. #include <a_samp>
  6.  
  7. //Laser Property
  8. #define LASER_SPEED 100 //unadjustable
  9. #define DRAWDISTANCE 250.0
  10. #define EXPLOSION_RADIUS 10.0 //unadjustable
  11.  
  12. //Buttons
  13. #define PRESSED(%0) \
  14. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  15. #define RELEASED(%0) \
  16. (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  17.  
  18.  
  19. new Lasers[] =
  20. {
  21. //normal lasers
  22. 18647,
  23. 18648,
  24. 18649,
  25. 18650,
  26.  
  27. //xmas
  28. 19059,
  29. 19060,
  30. 19061,
  31. 19062,
  32. 19063,
  33.  
  34. //pompom
  35. 19090,
  36. 19091,
  37. 19092
  38.  
  39. };
  40. new LaserStength[MAX_PLAYERS];
  41. new LaserMod[MAX_PLAYERS];
  42. new CanFireAgain[MAX_PLAYERS];
  43. new LaserObject[MAX_PLAYERS];
  44. new IsAllowedToFire[MAX_PLAYERS];
  45. new LocalTimer[MAX_PLAYERS][5];
  46. new MustWait[MAX_PLAYERS];
  47. new LaserAmmo[MAX_PLAYERS];
  48. new Count[MAX_PLAYERS];
  49. new InMode[MAX_PLAYERS];
  50. new PlayerText:Textdraw[3];
  51. new PlayerText:PowerTextdraw[9];
  52.  
  53. public OnFilterScriptInit()
  54. {
  55. print("\n----------------------------------");
  56. print(" [FS]Y_Vehicle Lasers is now loaded...");
  57. print("----------------------------------\n");
  58.  
  59. return 1;
  60. }
  61.  
  62. public OnFilterScriptExit()
  63. {
  64. for(new i; i<MAX_PLAYERS; i++)
  65. {
  66. HideTDs(i);
  67. HidePTDs(i);
  68. }
  69. return 1;
  70. }
  71.  
  72. main(){}
  73.  
  74. public OnPlayerConnect(playerid)
  75. {
  76. //Ammo-Box
  77. Textdraw[0] = CreatePlayerTextDraw(playerid, 436.000000, 37.000000, "BOX");
  78. PlayerTextDrawBackgroundColor(playerid,Textdraw[0], 255);
  79. PlayerTextDrawFont(playerid,Textdraw[0], 1);
  80. PlayerTextDrawLetterSize(playerid,Textdraw[0], 0.450000, 3.199999);
  81. PlayerTextDrawColor(playerid,Textdraw[0], 0);
  82. PlayerTextDrawSetOutline(playerid,Textdraw[0], 0);
  83. PlayerTextDrawSetProportional(playerid,Textdraw[0], 1);
  84. PlayerTextDrawSetShadow(playerid,Textdraw[0], 0);
  85. PlayerTextDrawUseBox(playerid,Textdraw[0], 1);
  86. PlayerTextDrawBoxColor(playerid,Textdraw[0], 68);
  87. PlayerTextDrawTextSize(playerid,Textdraw[0], 487.000000, 90.000000);
  88.  
  89. Textdraw[1] = CreatePlayerTextDraw(playerid,446.000000, 61.000000, "%d-0");
  90. PlayerTextDrawBackgroundColor(playerid,Textdraw[1], 255);
  91. PlayerTextDrawFont(playerid,Textdraw[1], 1);
  92. PlayerTextDrawLetterSize(playerid,Textdraw[1], 0.250000, 1.100000);
  93. PlayerTextDrawColor(playerid,Textdraw[1], 16777215);
  94. PlayerTextDrawSetOutline(playerid,Textdraw[1], 1);
  95. PlayerTextDrawSetProportional(playerid,Textdraw[1], 1);
  96.  
  97. Textdraw[2] = CreatePlayerTextDraw(playerid,441.000000, 38.000000, "Laser");
  98. PlayerTextDrawBackgroundColor(playerid,Textdraw[2], -16776961);
  99. PlayerTextDrawFont(playerid,Textdraw[2], 2);
  100. PlayerTextDrawLetterSize(playerid,Textdraw[2], 0.300000, 2.300000);
  101. PlayerTextDrawColor(playerid,Textdraw[2], -1);
  102. PlayerTextDrawSetOutline(playerid,Textdraw[2], 1);
  103. PlayerTextDrawSetProportional(playerid,Textdraw[2], 1);
  104.  
  105. //Power Indicator Textdraws..
  106. PowerTextdraw[0] = CreatePlayerTextDraw(playerid, 532.000000, 146.000000, "Box");
  107. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[0], 255);
  108. PlayerTextDrawFont(playerid, PowerTextdraw[0], 1);
  109. PlayerTextDrawLetterSize(playerid, PowerTextdraw[0], 0.500000, 1.000000);
  110. PlayerTextDrawColor(playerid, PowerTextdraw[0], 0);
  111. PlayerTextDrawSetOutline(playerid, PowerTextdraw[0], 0);
  112. PlayerTextDrawSetProportional(playerid, PowerTextdraw[0], 1);
  113. PlayerTextDrawSetShadow(playerid, PowerTextdraw[0], 0);
  114. PlayerTextDrawUseBox(playerid, PowerTextdraw[0], 1);
  115. PlayerTextDrawBoxColor(playerid, PowerTextdraw[0], 89);
  116. PlayerTextDrawTextSize(playerid, PowerTextdraw[0], 606.000000, -30.000000);
  117.  
  118. PowerTextdraw[1] = CreatePlayerTextDraw(playerid, 532.000000, 159.000000, "Box2");
  119. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[1], 255);
  120. PlayerTextDrawFont(playerid, PowerTextdraw[1], 1);
  121. PlayerTextDrawLetterSize(playerid, PowerTextdraw[1], 0.500000, 3.699999);
  122. PlayerTextDrawColor(playerid, PowerTextdraw[1], 0);
  123. PlayerTextDrawSetOutline(playerid, PowerTextdraw[1], 0);
  124. PlayerTextDrawSetProportional(playerid, PowerTextdraw[1], 1);
  125. PlayerTextDrawSetShadow(playerid, PowerTextdraw[1], 0);
  126. PlayerTextDrawUseBox(playerid, PowerTextdraw[1], 1);
  127. PlayerTextDrawBoxColor(playerid, PowerTextdraw[1], 79);
  128. PlayerTextDrawTextSize(playerid, PowerTextdraw[1], 606.000000, 20.000000);
  129.  
  130. PowerTextdraw[2] = CreatePlayerTextDraw(playerid,532.000000, 146.000000, "Laser Power");
  131. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[2], 255);
  132. PlayerTextDrawFont(playerid, PowerTextdraw[2], 2);
  133. PlayerTextDrawLetterSize(playerid, PowerTextdraw[2], 0.260000, 0.799999);
  134. PlayerTextDrawColor(playerid, PowerTextdraw[2], 14155775);
  135. PlayerTextDrawSetOutline(playerid, PowerTextdraw[2], 0);
  136. PlayerTextDrawSetProportional(playerid, PowerTextdraw[2], 1);
  137. PlayerTextDrawSetShadow(playerid, PowerTextdraw[2], 1);
  138.  
  139. PowerTextdraw[3] = CreatePlayerTextDraw(playerid,601.000000, 182.000000, "B1");
  140. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[3], 255);
  141. PlayerTextDrawFont(playerid, PowerTextdraw[3], 1);
  142. PlayerTextDrawLetterSize(playerid, PowerTextdraw[3], 0.500000, 0.099999);
  143. PlayerTextDrawColor(playerid, PowerTextdraw[3], 0);
  144. PlayerTextDrawSetOutline(playerid, PowerTextdraw[3], 0);
  145. PlayerTextDrawSetProportional(playerid, PowerTextdraw[3], 1);
  146. PlayerTextDrawSetShadow(playerid, PowerTextdraw[3], 0);
  147. PlayerTextDrawUseBox(playerid, PowerTextdraw[3], 1);
  148. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 75);
  149. PlayerTextDrawTextSize(playerid, PowerTextdraw[3], 594.000000, 0.000000);
  150.  
  151. PowerTextdraw[4] = CreatePlayerTextDraw(playerid,589.000000, 177.000000, "B2");
  152. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[4], 255);
  153. PlayerTextDrawFont(playerid, PowerTextdraw[4], 1);
  154. PlayerTextDrawLetterSize(playerid, PowerTextdraw[4], 0.470000, 0.699999);
  155. PlayerTextDrawColor(playerid, PowerTextdraw[4], 0);
  156. PlayerTextDrawSetOutline(playerid, PowerTextdraw[4], 0);
  157. PlayerTextDrawSetProportional(playerid, PowerTextdraw[4], 1);
  158. PlayerTextDrawSetShadow(playerid, PowerTextdraw[4], 0);
  159. PlayerTextDrawUseBox(playerid, PowerTextdraw[4], 1);
  160. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 75);
  161. PlayerTextDrawTextSize(playerid, PowerTextdraw[4], 592.000000, 0.000000);
  162.  
  163. PowerTextdraw[5] = CreatePlayerTextDraw(playerid,587.000000, 173.000000, "B3");
  164. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[5], 255);
  165. PlayerTextDrawFont(playerid, PowerTextdraw[5], 1);
  166. PlayerTextDrawLetterSize(playerid, PowerTextdraw[5], 0.470000, 1.200000);
  167. PlayerTextDrawColor(playerid, PowerTextdraw[5], 0);
  168. PlayerTextDrawSetOutline(playerid, PowerTextdraw[5], 0);
  169. PlayerTextDrawSetProportional(playerid, PowerTextdraw[5], 1);
  170. PlayerTextDrawSetShadow(playerid, PowerTextdraw[5], 0);
  171. PlayerTextDrawUseBox(playerid, PowerTextdraw[5], 1);
  172. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 75);
  173. PlayerTextDrawTextSize(playerid, PowerTextdraw[5], 576.000000, 0.000000);
  174.  
  175. PowerTextdraw[6] = CreatePlayerTextDraw(playerid,569.000000, 168.000000, "B4");
  176. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[6], 255);
  177. PlayerTextDrawFont(playerid, PowerTextdraw[6], 1);
  178. PlayerTextDrawLetterSize(playerid, PowerTextdraw[6], 0.470000, 1.800000);
  179. PlayerTextDrawColor(playerid, PowerTextdraw[6], 0);
  180. PlayerTextDrawSetOutline(playerid, PowerTextdraw[6], 0);
  181. PlayerTextDrawSetProportional(playerid, PowerTextdraw[6], 1);
  182. PlayerTextDrawSetShadow(playerid, PowerTextdraw[6], 0);
  183. PlayerTextDrawUseBox(playerid, PowerTextdraw[6], 1);
  184. PlayerTextDrawBoxColor(playerid, PowerTextdraw[6], 75);
  185. PlayerTextDrawTextSize(playerid, PowerTextdraw[6], 574.000000, 1.000000);
  186.  
  187. PowerTextdraw[7] = CreatePlayerTextDraw(playerid,567.000000, 165.000000, "B5");
  188. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[7], 255);
  189. PlayerTextDrawFont(playerid, PowerTextdraw[7], 1);
  190. PlayerTextDrawLetterSize(playerid, PowerTextdraw[7], 0.470000, 2.200000);
  191. PlayerTextDrawColor(playerid, PowerTextdraw[7], 0);
  192. PlayerTextDrawSetOutline(playerid, PowerTextdraw[7], 0);
  193. PlayerTextDrawSetProportional(playerid, PowerTextdraw[7], 1);
  194. PlayerTextDrawSetShadow(playerid, PowerTextdraw[7], 0);
  195. PlayerTextDrawUseBox(playerid, PowerTextdraw[7], 1);
  196. PlayerTextDrawBoxColor(playerid, PowerTextdraw[7], 75);
  197. PlayerTextDrawTextSize(playerid, PowerTextdraw[7], 554.000000, 1.000000);
  198.  
  199. PowerTextdraw[8] = CreatePlayerTextDraw(playerid,542.000000, 161.000000, "B6");
  200. PlayerTextDrawBackgroundColor(playerid, PowerTextdraw[8], 255);
  201. PlayerTextDrawFont(playerid, PowerTextdraw[8], 1);
  202. PlayerTextDrawLetterSize(playerid, PowerTextdraw[8], 0.470000, 2.699999);
  203. PlayerTextDrawColor(playerid, PowerTextdraw[8], 0);
  204. PlayerTextDrawSetOutline(playerid, PowerTextdraw[8], 0);
  205. PlayerTextDrawSetProportional(playerid, PowerTextdraw[8], 1);
  206. PlayerTextDrawSetShadow(playerid, PowerTextdraw[8], 0);
  207. PlayerTextDrawUseBox(playerid, PowerTextdraw[8], 1);
  208. PlayerTextDrawBoxColor(playerid, PowerTextdraw[8], 75);
  209. PlayerTextDrawTextSize(playerid, PowerTextdraw[8], 552.000000, 1.000000);
  210. return 1;
  211. }
  212.  
  213. public OnPlayerDeath(playerid, killerid, reason)
  214. {
  215. if(IsLasered(playerid) == 1) {
  216. HideTDs(playerid);
  217. HidePTDs(playerid);
  218. }
  219. return 1;
  220. }
  221.  
  222. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  223. {
  224. if(IsLasered(playerid) == 1) {
  225. ShowTDs(playerid);
  226. ShowPTDs(playerid);
  227. }
  228. return 1;
  229. }
  230.  
  231. public OnPlayerExitVehicle(playerid, vehicleid)
  232. {
  233. if(IsLasered(playerid) == 1) {
  234. HideTDs(playerid);
  235. HidePTDs(playerid);
  236. }
  237. return 1;
  238. }
  239.  
  240. public OnPlayerCommandText(playerid, cmdtext[])
  241. {
  242. if (strcmp("/addlaser", cmdtext, true, 10) == 0)
  243. {
  244. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  245. {
  246. if(InMode[playerid] == 1) return SendClientMessage(playerid, -1, "{FFFA00}/removelaser {FAFAFA}, To remove lasers!");
  247. HideTDs(playerid);
  248. HidePTDs(playerid);
  249. ShowTDs(playerid);
  250. ShowPTDs(playerid);
  251. IsAllowedToFire[playerid] = 1;
  252. CanFireAgain[playerid] = 1;
  253. LaserMod[playerid] = 0;
  254. LaserAmmo[playerid] = 15;
  255. UpdateAmmo(playerid);
  256. InMode[playerid] = 1;
  257. GameTextForPlayer(playerid, "~g~Lasers Are Loaded.", 2000, 1);
  258. }
  259. else {
  260. SendClientMessage(playerid, -1, "You must be driving.");
  261. }
  262. return 1;
  263. }
  264. else if (strcmp("/removelaser", cmdtext, true, 10) == 0)
  265. {
  266. if(InMode[playerid] == 0) return SendClientMessage(playerid, -1, "{FFFA00}/addlaser {FAFAFA}, To add lasers!");
  267. HideTDs(playerid);
  268. HidePTDs(playerid);
  269. IsAllowedToFire[playerid] = 0;
  270. CanFireAgain[playerid] = 0;
  271. InMode[playerid] = 0;
  272. GameTextForPlayer(playerid, "~r~Lasers Are Unloaded.", 2000, 1);
  273. return 1;
  274. }
  275. else if (strcmp("/lasermods", cmdtext, true, 10) == 0)
  276. {
  277. if (IsPlayerInAnyVehicle(playerid) && IsAllowedToFire[playerid] == 1)
  278. {
  279. if(MustWait[playerid] == 1) return GameTextForPlayer(playerid, "~r~Wait before switching modes", 3000, 1);
  280. ShowPlayerDialog(playerid, 1998, DIALOG_STYLE_LIST, "Laser Modes", "Normal\nBlast Fire\nSuicide Bomb","Select","Cancel");
  281. }
  282. return 1;
  283. }
  284. return 1;
  285. }
  286.  
  287. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  288. {
  289. if (PRESSED(KEY_FIRE))
  290. {
  291. if (IsPlayerInAnyVehicle(playerid) && IsAllowedToFire[playerid] == 1)
  292. {
  293. if(CanFireAgain[playerid] == 1 && LaserAmmo[playerid] >= 1)
  294. {
  295. new Hour, Minute, Second;
  296. gettime(Hour, Minute, Second);
  297. SetPVarInt(playerid, "H", Hour);
  298. SetPVarInt(playerid, "M", Minute);
  299. SetPVarInt(playerid, "S", Second);
  300.  
  301. }
  302. }
  303. }
  304. else if (RELEASED(KEY_FIRE))
  305. {
  306. if (IsPlayerInAnyVehicle(playerid) && IsAllowedToFire[playerid] == 1)
  307. {
  308. if(CanFireAgain[playerid] == 1 && LaserAmmo[playerid] >= 1)
  309. {
  310. new Hourx, Minutex, Secondx;
  311. gettime(Hourx, Minutex, Secondx);
  312.  
  313. new HrTmp, MinTmp, SecTmp;
  314.  
  315. HrTmp = Hourx - GetPVarInt(playerid, "H");
  316. MinTmp = Minutex - GetPVarInt(playerid, "M");
  317. SecTmp = Secondx - GetPVarInt(playerid, "S");
  318.  
  319. if(HrTmp == 0 && MinTmp == 0 && 0 < SecTmp <= 0.5)
  320. {
  321. LaserStength[playerid] = 1; // means v.weak
  322. FireLaser(playerid);
  323. CanFireAgain[playerid] = 0;
  324. LaserAmmo[playerid]--;
  325. UpdateAmmo(playerid);
  326. }
  327. else if(HrTmp == 0 && MinTmp == 0 && 0.5 < SecTmp <= 1 )
  328. {
  329. LaserStength[playerid] = 2; // means weak
  330. FireLaser(playerid);
  331. CanFireAgain[playerid] = 0;
  332. LaserAmmo[playerid]--;
  333. UpdateAmmo(playerid);
  334. }
  335. else if(HrTmp == 0 && MinTmp == 0 && 1 < SecTmp <= 1.5)
  336. {
  337. LaserStength[playerid] = 3; // means moderate
  338. FireLaser(playerid);
  339. CanFireAgain[playerid] = 0;
  340. LaserAmmo[playerid]--;
  341. UpdateAmmo(playerid);
  342. }
  343. else if(HrTmp == 0 && MinTmp == 0 && 1.5 < SecTmp <= 2)
  344. {
  345. LaserStength[playerid] = 4; // means normal
  346. FireLaser(playerid);
  347. CanFireAgain[playerid] = 0;
  348. LaserAmmo[playerid]--;
  349. UpdateAmmo(playerid);
  350. }
  351. else if(HrTmp == 0 && MinTmp == 0 && 2.5 < SecTmp <= 3)
  352. {
  353. LaserStength[playerid] = 5; // means strong
  354. FireLaser(playerid);
  355. CanFireAgain[playerid] = 0;
  356. LaserAmmo[playerid]--;
  357. UpdateAmmo(playerid);
  358. }
  359. else if(HrTmp == 0 && MinTmp == 0 && SecTmp > 3)
  360. {
  361. LaserStength[playerid] = 6; // means v.strong
  362. FireLaser(playerid);
  363. CanFireAgain[playerid] = 0;
  364. LaserAmmo[playerid]--;
  365. UpdateAmmo(playerid);
  366. }
  367. ShowPower(playerid, LaserStength[playerid]);
  368.  
  369. }
  370. }
  371. }
  372. return 1;
  373. }
  374.  
  375. forward public FireLaser(playerid);
  376. public FireLaser(playerid)
  377. {
  378. new
  379. RandLaser = random(sizeof(Lasers));
  380. new
  381. Float:pX,
  382. Float:pY,
  383. Float:pZ,
  384. Float:vA,
  385. Float:distance = 65.0,
  386. vid = GetPlayerVehicleID(playerid)
  387. ;
  388. new Float:Velocity[3];
  389.  
  390. GetVehicleVelocity(vid, Velocity[0], Velocity[1], Velocity[2]);
  391.  
  392. GetVehiclePos(vid, pX, pY, pZ);
  393. GetVehicleZAngle(vid, vA);
  394.  
  395. LaserObject[playerid] = CreateObject(Lasers[RandLaser], pX, pY, pZ, vA, 0, 0, DRAWDISTANCE);
  396. for(new target; target<MAX_PLAYERS; target++)
  397. {
  398. if(target == playerid)
  399. continue;
  400. if(IsPlayerInRangeOfPoint(target,65.0, pX, pY, pZ))
  401. {
  402. new
  403. Float:tmpX, Float:tmpY, Float:tmpZ;
  404. GetPlayerPos(target, tmpX, tmpY, tmpZ);
  405.  
  406. distance = GetPlayerDistanceFromPoint(target, pX, pY, pZ);
  407.  
  408. }
  409. }
  410. new LS;
  411. if(LaserStength[playerid] == 1) { LS = LASER_SPEED-40; }
  412. else if(LaserStength[playerid] == 2) { LS = LASER_SPEED-30; }
  413. else if(LaserStength[playerid] == 3) { LS = LASER_SPEED-20; }
  414. else if(LaserStength[playerid] == 4) { LS = LASER_SPEED; }
  415. else if(LaserStength[playerid] == 5) { LS = LASER_SPEED+5; }
  416. else if(LaserStength[playerid] == 6) { LS = LASER_SPEED+7; }
  417. MoveObject(LaserObject[playerid], pX + (distance * floatsin(-vA, degrees)), pY + (distance * floatcos(-vA, degrees)), pZ, LS);
  418. return 1;
  419. }
  420.  
  421. public OnObjectMoved(objectid)
  422. {
  423. for(new i;i<MAX_PLAYERS;i++)
  424. {
  425. if(objectid == LaserObject[i])
  426. {
  427. CreateExplosionEx(i);
  428. }
  429. }
  430. return 1;
  431. }
  432.  
  433. forward public CreateExplosionEx(playerid);
  434. public CreateExplosionEx(playerid)
  435. {
  436. new Float:x, Float:y, Float:z;
  437. GetObjectPos(LaserObject[playerid], x, y, z);
  438. DestroyObject(LaserObject[playerid]);
  439. if(LaserMod[playerid] == 0)
  440. {
  441. CreateExplosion(x, y, z, 0, EXPLOSION_RADIUS);
  442. }
  443. else if(LaserMod[playerid] == 1)
  444. {
  445. CreateExplosion(x, y, z, 2, EXPLOSION_RADIUS);
  446. }
  447. else if(LaserMod[playerid] == 2)
  448. {
  449. CreateExplosion(x, y, z, 7, 50);
  450. }
  451. switch(LaserMod[playerid])
  452. {
  453. case 0,1:
  454. {
  455. LocalTimer[playerid][3] = SetTimerEx("CanShootAgain", 100, false, "i", playerid);
  456. }
  457. case 2:
  458. {
  459. LocalTimer[playerid][4] = SetTimerEx("CanShootAgain", 6000, false, "i", playerid);
  460. }
  461. }
  462. return 1;
  463. }
  464.  
  465. forward public CanShootAgain(playerid);
  466. public CanShootAgain(playerid)
  467. {
  468. CanFireAgain[playerid] = 1;
  469. return 1;
  470. }
  471.  
  472. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  473. {
  474. if(dialogid == 1998)
  475. {
  476. if(response)
  477. {
  478. switch(listitem)
  479. {
  480. case 0: { LaserMod[playerid] = 0; LocalTimer[playerid][1] = SetTimerEx("StopRest",5000,false, "i",playerid); MustWait[playerid] =1; }
  481. case 1: { LaserMod[playerid] = 1; LocalTimer[playerid][1] = SetTimerEx("StopRest",5000,false, "i",playerid); MustWait[playerid] =1; }
  482. case 2: { LaserMod[playerid] = 2; LocalTimer[playerid][1] = SetTimerEx("StopRest",5000,false, "i",playerid); MustWait[playerid] =1; }
  483. }
  484. UpdateAmmo(playerid);
  485. }
  486. }
  487. return 1;
  488. }
  489.  
  490. forward public StopRest(playerid);
  491. public StopRest(playerid)
  492. {
  493. MustWait[playerid] = 0;
  494. KillTimer(LocalTimer[playerid][1]);
  495. return 1;
  496. }
  497.  
  498. forward public UpdateAmmo(playerid);
  499. public UpdateAmmo(playerid)
  500. {
  501. new tdstring[32];
  502. format(tdstring, sizeof(tdstring), "%d-0", LaserAmmo);
  503. PlayerTextDrawSetString(playerid,Textdraw[1], tdstring);
  504. PlayerTextDrawShow(playerid, Textdraw[1]);
  505. if(LaserAmmo[playerid] == 0)
  506. {
  507. KillTimer(LocalTimer[playerid][3]);
  508. KillTimer(LocalTimer[playerid][4]);
  509. LocalTimer[playerid][2] = SetTimerEx("StartGameTexts", 1000, true, "i", playerid);
  510. Count[playerid] = 0;
  511. CanFireAgain[playerid] = 0;
  512. }
  513. return 1;
  514. }
  515.  
  516. forward public StartGameTexts(playerid);
  517. public StartGameTexts(playerid)
  518. {
  519. Count[playerid]++;
  520. GameTextForPlayer(playerid, "~r~Loading Lasers...", 500, 1);
  521. if(Count[playerid] >= 7)
  522. {
  523. Count[playerid] = 6;
  524. }
  525. if(Count[playerid] == 6)
  526. {
  527. switch(LaserMod[playerid])
  528. {
  529. case 0: LaserAmmo[playerid] = 15;
  530. case 1: LaserAmmo[playerid] = 10;
  531. case 2: LaserAmmo[playerid] = 1;
  532. }
  533. KillTimer(LocalTimer[playerid][2]);
  534. CanFireAgain[playerid] = 1;
  535. GameTextForPlayer(playerid, "~g~Lasers Are Loaded.", 2000, 1);
  536. new tdstring[32];
  537. format(tdstring, sizeof(tdstring), "%d-0", LaserAmmo);
  538. PlayerTextDrawSetString(playerid,Textdraw[1], tdstring);
  539. PlayerTextDrawShow(playerid, Textdraw[1]);
  540. Count[playerid] = 0;
  541. }
  542. return 1;
  543. }
  544.  
  545. forward public ShowPower(playerid, power);
  546. public ShowPower(playerid, power)
  547. {
  548. switch(power)
  549. {
  550. case 1:
  551. {
  552. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  553. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  554. SetTimerEx("reset", 1000, false, "i", playerid);
  555. }
  556. case 2:
  557. {
  558. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  559. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 0xFFFF00FF);
  560. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  561. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  562. SetTimerEx("reset", 1000, false, "i", playerid);
  563. }
  564. case 3:
  565. {
  566. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  567. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 0xFFFF00FF);
  568. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 0xFFBC00FF);
  569. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  570. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  571. PlayerTextDrawShow(playerid, PowerTextdraw[5]);
  572. SetTimerEx("reset", 1000, false, "i", playerid);
  573. }
  574. case 4:
  575. {
  576. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  577. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 0xFFFF00FF);
  578. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 0xFFBC00FF);
  579. PlayerTextDrawBoxColor(playerid, PowerTextdraw[6], 0xFF6200FF);
  580. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  581. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  582. PlayerTextDrawShow(playerid, PowerTextdraw[5]);
  583. PlayerTextDrawShow(playerid, PowerTextdraw[6]);
  584. SetTimerEx("reset", 1000, false, "i", playerid);
  585. }
  586. case 5:
  587. {
  588. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  589. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 0xFFFF00FF);
  590. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 0xFFBC00FF);
  591. PlayerTextDrawBoxColor(playerid, PowerTextdraw[6], 0xFF6200FF);
  592. PlayerTextDrawBoxColor(playerid, PowerTextdraw[7], 0xFF3800FF);
  593. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  594. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  595. PlayerTextDrawShow(playerid, PowerTextdraw[5]);
  596. PlayerTextDrawShow(playerid, PowerTextdraw[6]);
  597. PlayerTextDrawShow(playerid, PowerTextdraw[7]);
  598. SetTimerEx("reset", 1000, false, "i", playerid);
  599. }
  600. case 6:
  601. {
  602. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 0x00FF00FF);
  603. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 0xFFFF00FF);
  604. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 0xFFBC00FF);
  605. PlayerTextDrawBoxColor(playerid, PowerTextdraw[6], 0xFF6200FF);
  606. PlayerTextDrawBoxColor(playerid, PowerTextdraw[7], 0xFF3800FF);
  607. PlayerTextDrawBoxColor(playerid, PowerTextdraw[8], 0xFF0000FF);
  608. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  609. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  610. PlayerTextDrawShow(playerid, PowerTextdraw[5]);
  611. PlayerTextDrawShow(playerid, PowerTextdraw[6]);
  612. PlayerTextDrawShow(playerid, PowerTextdraw[7]);
  613. PlayerTextDrawShow(playerid, PowerTextdraw[8]);
  614. SetTimerEx("reset", 1000, false, "i", playerid);
  615. }
  616. }
  617. return 1;
  618. }
  619.  
  620. forward public reset(playerid);
  621. public reset(playerid)
  622. {
  623. PlayerTextDrawBoxColor(playerid, PowerTextdraw[3], 75);
  624. PlayerTextDrawBoxColor(playerid, PowerTextdraw[4], 75);
  625. PlayerTextDrawBoxColor(playerid, PowerTextdraw[5], 75);
  626. PlayerTextDrawBoxColor(playerid, PowerTextdraw[6], 75);
  627. PlayerTextDrawBoxColor(playerid, PowerTextdraw[7], 75);
  628. PlayerTextDrawBoxColor(playerid, PowerTextdraw[8], 75);
  629. PlayerTextDrawShow(playerid, PowerTextdraw[3]);
  630. PlayerTextDrawShow(playerid, PowerTextdraw[4]);
  631. PlayerTextDrawShow(playerid, PowerTextdraw[5]);
  632. PlayerTextDrawShow(playerid, PowerTextdraw[6]);
  633. PlayerTextDrawShow(playerid, PowerTextdraw[7]);
  634. PlayerTextDrawShow(playerid, PowerTextdraw[8]);
  635. return 1;
  636. }
  637.  
  638. stock ShowTDs(playerid)
  639. {
  640. for(new i; i<sizeof(Textdraw); i++)
  641. {
  642. PlayerTextDrawShow(playerid, Textdraw[i]);
  643. }
  644. }
  645.  
  646. stock HideTDs(playerid)
  647. {
  648. for(new i; i<sizeof(Textdraw); i++)
  649. {
  650. PlayerTextDrawHide(playerid, Textdraw[i]);
  651. }
  652. }
  653.  
  654. stock ShowPTDs(playerid)
  655. {
  656. for(new i; i<sizeof(PowerTextdraw); i++)
  657. {
  658. PlayerTextDrawShow(playerid, PowerTextdraw[i]);
  659. }
  660. }
  661.  
  662. stock HidePTDs(playerid)
  663. {
  664. for(new i; i<sizeof(PowerTextdraw); i++)
  665. {
  666. PlayerTextDrawHide(playerid, PowerTextdraw[i]);
  667. }
  668. }
  669.  
  670. stock IsLasered(playerid)
  671. return InMode[playerid];
Advertisement
Add Comment
Please, Sign In to add comment