Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.48 KB | None | 0 0
  1. /*
  2.  
  3.  
  4. Tazerio sistema
  5. • Autorius: Šetonas
  6. • skype:santan3690
  7. • supergames.lt: Šetonas
  8.  
  9.  
  10.  
  11.  
  12. */
  13. #include <a_samp>
  14. #include <zcmd>
  15. //#include <sscanf2>
  16. #include <foreach>
  17.  
  18. main() {}
  19.  
  20. #define TAZER_TD_COUNT 7
  21. #define TAZER_TD_BG1 0
  22. #define TAZER_TD_BG2 1
  23. #define TAZER_TD_POLICETASER 2
  24. #define TAZER_TD_WARN 3
  25. #define TAZER_TD_ARROW 4
  26. #define TAZER_TD_TIMELEFT 5
  27. #define TAZER_TD_ANOTHER 6
  28.  
  29. #define TAZER_EFFECT_TIME 15
  30.  
  31. new Text: glTazeris[TAZER_TD_COUNT];
  32. new PlayerText: g_textPlayerTazer[MAX_PLAYERS];
  33.  
  34. new bool: g_bPlayerTaser[MAX_PLAYERS];
  35. new g_iPlayerTazerTimer[MAX_PLAYERS], g_iTazerTime[MAX_PLAYERS];
  36.  
  37. public OnGameModeInit()
  38. {
  39. glTazeris[TAZER_TD_BG2] = TextDrawCreate(219.500000, 374.789489, "2BG");
  40. TextDrawLetterSize(glTazeris[TAZER_TD_BG2], 0.000000, 2.599997);
  41. TextDrawTextSize(glTazeris[TAZER_TD_BG2], 409.000000, 0.000000);
  42. TextDrawAlignment(glTazeris[TAZER_TD_BG2], 1);
  43. TextDrawColor(glTazeris[TAZER_TD_BG2], -1);
  44. TextDrawUseBox(glTazeris[TAZER_TD_BG2], 1);
  45. TextDrawBoxColor(glTazeris[TAZER_TD_BG2], 8388863);
  46. TextDrawSetShadow(glTazeris[TAZER_TD_BG2], 0);
  47. TextDrawSetOutline(glTazeris[TAZER_TD_BG2], 0);
  48. TextDrawBackgroundColor(glTazeris[TAZER_TD_BG2], 255);
  49. TextDrawFont(glTazeris[TAZER_TD_BG2], 1);
  50. TextDrawSetProportional(glTazeris[TAZER_TD_BG2], 1);
  51. TextDrawSetShadow(glTazeris[TAZER_TD_BG2], 0);
  52.  
  53. glTazeris[TAZER_TD_BG1] = TextDrawCreate(219.499969, 331.833374, "1BG");
  54. TextDrawLetterSize(glTazeris[TAZER_TD_BG1], 0.000000, 10.697012);
  55. TextDrawTextSize(glTazeris[TAZER_TD_BG1], 408.999969, 0.000000);
  56. TextDrawAlignment(glTazeris[TAZER_TD_BG1], 1);
  57. TextDrawColor(glTazeris[TAZER_TD_BG1], -1);
  58. TextDrawUseBox(glTazeris[TAZER_TD_BG1], 1);
  59. TextDrawBoxColor(glTazeris[TAZER_TD_BG1], 16843158);
  60. TextDrawSetShadow(glTazeris[TAZER_TD_BG1], 0);
  61. TextDrawSetOutline(glTazeris[TAZER_TD_BG1], 0);
  62. TextDrawBackgroundColor(glTazeris[TAZER_TD_BG1], 255);
  63. TextDrawFont(glTazeris[TAZER_TD_BG1], 1);
  64. TextDrawSetProportional(glTazeris[TAZER_TD_BG1], 1);
  65. TextDrawSetShadow(glTazeris[TAZER_TD_BG1], 0);
  66.  
  67. glTazeris[TAZER_TD_POLICETASER] = TextDrawCreate(250.000000, 332.488891, "POLICIJOS TAZERIS!");
  68. TextDrawLetterSize(glTazeris[TAZER_TD_POLICETASER], 0.328000, 1.543999);
  69. TextDrawAlignment(glTazeris[TAZER_TD_POLICETASER], 1);
  70. TextDrawColor(glTazeris[TAZER_TD_POLICETASER], 16711935);
  71. TextDrawSetShadow(glTazeris[TAZER_TD_POLICETASER], 0);
  72. TextDrawSetOutline(glTazeris[TAZER_TD_POLICETASER], 1);
  73. TextDrawBackgroundColor(glTazeris[TAZER_TD_POLICETASER], -1);
  74. TextDrawFont(glTazeris[TAZER_TD_POLICETASER], 2);
  75. TextDrawSetProportional(glTazeris[TAZER_TD_POLICETASER], 1);
  76. TextDrawSetShadow(glTazeris[TAZER_TD_POLICETASER], 0);
  77.  
  78. glTazeris[TAZER_TD_ANOTHER] = TextDrawCreate(180.500000, 349.911102, "I");
  79. TextDrawLetterSize(glTazeris[TAZER_TD_ANOTHER], 22.508504, 0.417775);
  80. TextDrawAlignment(glTazeris[TAZER_TD_ANOTHER], 1);
  81. TextDrawColor(glTazeris[TAZER_TD_ANOTHER], 8388863);
  82. TextDrawSetShadow(glTazeris[TAZER_TD_ANOTHER], 0);
  83. TextDrawSetOutline(glTazeris[TAZER_TD_ANOTHER], 0);
  84. TextDrawBackgroundColor(glTazeris[TAZER_TD_ANOTHER], 255);
  85. TextDrawFont(glTazeris[TAZER_TD_ANOTHER], 2);
  86. TextDrawSetProportional(glTazeris[TAZER_TD_ANOTHER], 1);
  87. TextDrawSetShadow(glTazeris[TAZER_TD_ANOTHER], 0);
  88.  
  89. glTazeris[TAZER_TD_WARN] = TextDrawCreate(230.000000, 355.789001, "Jus esate kreciamas TAZERIO!");
  90. TextDrawLetterSize(glTazeris[TAZER_TD_WARN], 0.224500, 1.307554);
  91. TextDrawAlignment(glTazeris[TAZER_TD_WARN], 1);
  92. TextDrawColor(glTazeris[TAZER_TD_WARN], -1);
  93. TextDrawSetShadow(glTazeris[TAZER_TD_WARN], 0);
  94. TextDrawSetOutline(glTazeris[TAZER_TD_WARN], 0);
  95. TextDrawBackgroundColor(glTazeris[TAZER_TD_WARN], 255);
  96. TextDrawFont(glTazeris[TAZER_TD_WARN], 2);
  97. TextDrawSetProportional(glTazeris[TAZER_TD_WARN], 1);
  98. TextDrawSetShadow(glTazeris[TAZER_TD_WARN], 0);
  99.  
  100. glTazeris[TAZER_TD_ARROW] = TextDrawCreate(217.500000, 354.266723, "~>~");
  101. TextDrawLetterSize(glTazeris[TAZER_TD_ARROW], 0.400000, 1.600000);
  102. TextDrawAlignment(glTazeris[TAZER_TD_ARROW], 1);
  103. TextDrawColor(glTazeris[TAZER_TD_ARROW], -1);
  104. TextDrawSetShadow(glTazeris[TAZER_TD_ARROW], 0);
  105. TextDrawSetOutline(glTazeris[TAZER_TD_ARROW], 0);
  106. TextDrawBackgroundColor(glTazeris[TAZER_TD_ARROW], 255);
  107. TextDrawFont(glTazeris[TAZER_TD_ARROW], 1);
  108. TextDrawSetProportional(glTazeris[TAZER_TD_ARROW], 1);
  109. TextDrawSetShadow(glTazeris[TAZER_TD_ARROW], 0);
  110.  
  111. glTazeris[TAZER_TD_TIMELEFT] = TextDrawCreate(230.000000, 377.911163, "Liko laukti:");
  112. TextDrawLetterSize(glTazeris[TAZER_TD_TIMELEFT], 0.296000, 1.469333);
  113. TextDrawAlignment(glTazeris[TAZER_TD_TIMELEFT], 1);
  114. TextDrawColor(glTazeris[TAZER_TD_TIMELEFT], -1);
  115. TextDrawSetShadow(glTazeris[TAZER_TD_TIMELEFT], 0);
  116. TextDrawSetOutline(glTazeris[TAZER_TD_TIMELEFT], 0);
  117. TextDrawBackgroundColor(glTazeris[TAZER_TD_TIMELEFT], 255);
  118. TextDrawFont(glTazeris[TAZER_TD_TIMELEFT], 2);
  119. TextDrawSetProportional(glTazeris[TAZER_TD_TIMELEFT], 1);
  120. TextDrawSetShadow(glTazeris[TAZER_TD_TIMELEFT], 0);
  121. return 1;
  122. }
  123.  
  124. public OnPlayerConnect(playerid)
  125. {
  126. g_textPlayerTazer[playerid] = CreatePlayerTextDraw(playerid, 308.000000, 377.911163, "~r~15~w~ sekundziu");
  127. PlayerTextDrawLetterSize(playerid, g_textPlayerTazer[playerid], 0.296000, 1.469333);
  128. PlayerTextDrawAlignment(playerid, g_textPlayerTazer[playerid], 1);
  129. PlayerTextDrawColor(playerid, g_textPlayerTazer[playerid], -1);
  130. PlayerTextDrawSetShadow(playerid, g_textPlayerTazer[playerid], 0);
  131. PlayerTextDrawSetOutline(playerid, g_textPlayerTazer[playerid], 0);
  132. PlayerTextDrawBackgroundColor(playerid, g_textPlayerTazer[playerid], 255);
  133. PlayerTextDrawFont(playerid, g_textPlayerTazer[playerid], 2);
  134. PlayerTextDrawSetProportional(playerid, g_textPlayerTazer[playerid], 1);
  135. PlayerTextDrawSetShadow(playerid, g_textPlayerTazer[playerid], 0);
  136.  
  137. PreloadAnimLib(playerid,"KNIFE");
  138. PreloadAnimLib(playerid,"CRACK");
  139.  
  140. g_iTazerTime[playerid] = 0;
  141. g_bPlayerTaser[playerid] = false;
  142. KillTimer(g_iPlayerTazerTimer[playerid]);
  143. return 1;
  144. }
  145.  
  146. public OnPlayerDisconnect(playerid, reason)
  147. {
  148. KillTimer(g_iPlayerTazerTimer[playerid]);
  149. PlayerTextDrawDestroy(playerid, g_textPlayerTazer[playerid]);
  150. return 1;
  151. }
  152.  
  153. public OnPlayerStateChange(playerid, newstate, oldstate)
  154. {
  155. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  156. {
  157. RemovePlayerAttachedObject(playerid, 3);
  158. g_bPlayerTaser[playerid] = false;
  159. }
  160. return 1;
  161. }
  162.  
  163. public OnPlayerUpdate(playerid)
  164. {
  165. if(g_bPlayerTaser[playerid] && GetPlayerWeapon(playerid) != 0)
  166. {
  167. RemovePlayerAttachedObject(playerid, 3);
  168. g_bPlayerTaser[playerid] = false;
  169. }
  170. return 1;
  171. }
  172.  
  173. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  174. {
  175. //Tazeris
  176. if(newkeys & KEY_FIRE)
  177. {
  178. if(g_bPlayerTaser[playerid] && g_iTazerTime[playerid] <= 0)
  179. {
  180. ApplyAnimation(playerid,"KNIFE","knife_3",4.1,0,1,1,0,0,1);
  181.  
  182. new victimid = GetClosestPlayer(playerid, 3.0);
  183. if(victimid != INVALID_PLAYER_ID && g_iTazerTime[victimid] <= 0 && IsPlayerConnected(victimid))
  184. {
  185. ApplyAnimation(victimid,"CRACK","crckdeth2",4.1, 1, 1, 1, 1, 1,1);
  186.  
  187. for(new i = 0; i < TAZER_TD_COUNT; i++)
  188. TextDrawShowForPlayer(victimid, glTazeris[i]);
  189.  
  190. new Float:health;
  191. GetPlayerHealth(victimid, health);
  192. SetPlayerHealth(victimid, health - 5.0);
  193.  
  194. g_iTazerTime[victimid] = TAZER_EFFECT_TIME;
  195. g_iPlayerTazerTimer[victimid] = SetTimerEx("timerTazerEffect", 1000, true, "d", victimid);
  196.  
  197. new szTazer[30];
  198. format(szTazer, sizeof(szTazer), "~r~%d~w~ sekundziu", g_iTazerTime[victimid]);
  199. PlayerTextDrawSetString(victimid, g_textPlayerTazer[victimid], szTazer);
  200. PlayerTextDrawShow(victimid, g_textPlayerTazer[victimid]);
  201. return 1;
  202. }
  203. }
  204. }
  205. return 1;
  206. }
  207.  
  208. forward timerTazerEffect(playerid);
  209. public timerTazerEffect(playerid)
  210. {
  211. g_iTazerTime[playerid]--;
  212.  
  213. if(g_iTazerTime[playerid] <= 0)
  214. {
  215. g_iTazerTime[playerid] = 0;
  216. KillTimer(g_iPlayerTazerTimer[playerid]);
  217. PlayerTextDrawHide(playerid, g_textPlayerTazer[playerid]);
  218.  
  219. for(new i = 0; i < TAZER_TD_COUNT; i++)
  220. TextDrawHideForPlayer(playerid, glTazeris[i]);
  221.  
  222. TogglePlayerControllable(playerid, 1);
  223.  
  224. new Float: fPos[3];
  225. GetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
  226. SetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]+0.02);
  227. ClearAnimations(playerid, 1);
  228. return 1;
  229. }
  230.  
  231. TogglePlayerControllable(playerid, 0);
  232.  
  233. new szTazer[30];
  234. format(szTazer, sizeof(szTazer), "~r~%d~w~ sekundziu", g_iTazerTime[playerid]);
  235.  
  236. PlayerTextDrawSetString(playerid, g_textPlayerTazer[playerid], szTazer);
  237. PlayerTextDrawShow(playerid, g_textPlayerTazer[playerid]);
  238.  
  239. return 1;
  240. }
  241.  
  242. CMD:tazeris(playerid, params[])
  243. {
  244. if(g_bPlayerTaser[playerid])
  245. RemovePlayerAttachedObject(playerid, 3);
  246. else if(GetPlayerWeapon(playerid) == 0)
  247. SetPlayerAttachedObject(playerid, 3, 18642, 6, 0.06, 0.01, 0.08, 180.0, 0.0, 0.0);
  248.  
  249. g_bPlayerTaser[playerid] = !g_bPlayerTaser[playerid];
  250. return 1;
  251. }
  252.  
  253.  
  254. stock GetClosestPlayer(playerid, Float: radius)
  255. {
  256. new Float: fPos[3];
  257. GetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
  258.  
  259. new Float: dist = radius + 1.0, Float: fTempDist, id = INVALID_PLAYER_ID;
  260.  
  261. foreach(new i : Player)
  262. {
  263. if(i == playerid)
  264. continue;
  265.  
  266. fTempDist = GetPlayerDistanceFromPoint(i, fPos[0], fPos[1], fPos[2]);
  267.  
  268. if(fTempDist < dist && fTempDist < radius)
  269. {
  270. id = i;
  271. dist = fTempDist;
  272. }
  273. }
  274. return id;
  275. }
  276.  
  277. PreloadAnimLib(playerid, animlib[])
  278. {
  279. ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
  280. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement