y_zonepulse.inc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #if defined _INC_y_zonepulse
  2. #endinput
  3. #endif
  4. #define _INC_y_zonepulse
  5. /**
  6. * <library name="y_zonepulse">
  7. * <section>
  8. * Description
  9. * </section>
  10. * Gradually fades a zone's colour between one colour and another, then back.
  11. * <section>
  12. * Version
  13. * </section>
  14. * 0.1
  15. * <section>
  16. * Functions
  17. * </section>
  18. * <subsection>
  19. * Public
  20. * </subsection><ul>
  21. * <symbol name="__GangZonePulse">The timer that does the hard work.</symbol>
  22. * </ul><subsection>
  23. * Stock
  24. * </subsection><ul>
  25. * <symbol name="GangZonePulse">Pulse a zone for player or collection of players.</symbol>
  26. * <symbol name="GangZonePulseForPlayer">Pulse a zone for a player.</symbol>
  27. * <symbol name="GangZonePulseForAll">Pulse a zone for everyone.</symbol>
  28. * <symbol name="GangZoneStopPulse">Stop a zone pulsing for a set of players.</symbol>
  29. * <symbol name="GangZoneStopPulseForPlayer">Stop a zone pulsing for a single player.</symbol>
  30. * <symbol name="GangZoneStopPulseForAll">Stop a zone pulsing for everyone.</symbol>
  31. * </ul><section>Compile options</section><ul>
  32. * <symbol name="ZONE_PULSE_STAGE_TIME">ms between each pulse frame.</symbol>
  33. * </ul>
  34. * </library>
  35. *//** *//*
  36. Legal:
  37. Version: MPL 1.1
  38. The contents of this file are subject to the Mozilla Public License Version
  39. 1.1 the "License"; you may not use this file except in compliance with
  40. the License. You may obtain a copy of the License at
  41. http://www.mozilla.org/MPL/
  42. Software distributed under the License is distributed on an "AS IS" basis,
  43. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  44. for the specific language governing rights and limitations under the
  45. License.
  46. The Original Code is the YSI framework.
  47. The Initial Developer of the Original Code is Alex "Y_Less" Cole.
  48. Portions created by the Initial Developer are Copyright C 2011
  49. the Initial Developer. All Rights Reserved.
  50. Contributors:
  51. Y_Less
  52. koolk
  53. JoeBullet/Google63
  54. g_aSlice/Slice
  55. Misiur
  56. samphunter
  57. tianmeta
  58. maddinat0r
  59. spacemud
  60. Crayder
  61. Dayvison
  62. Ahmad45123
  63. Zeex
  64. irinel1996
  65. Yiin-
  66. Chaprnks
  67. Konstantinos
  68. Masterchen09
  69. Southclaws
  70. PatchwerkQWER
  71. m0k1
  72. paulommu
  73. udan111
  74. Thanks:
  75. JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
  76. ZeeX - Very productive conversations.
  77. koolk - IsPlayerinAreaEx code.
  78. TheAlpha - Danish translation.
  79. breadfish - German translation.
  80. Fireburn - Dutch translation.
  81. yom - French translation.
  82. 50p - Polish translation.
  83. Zamaroht - Spanish translation.
  84. Los - Portuguese translation.
  85. Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes for
  86. me to strive to better.
  87. Pixels^ - Running XScripters where the idea was born.
  88. Matite - Pestering me to release it and using it.
  89. Very special thanks to:
  90. Thiadmer - PAWN, whose limits continue to amaze me!
  91. Kye/Kalcor - SA:MP.
  92. SA:MP Team past, present and future - SA:MP.
  93. Optional plugins:
  94. Gamer_Z - GPS.
  95. Incognito - Streamer.
  96. Me - sscanf2, fixes2, Whirlpool.
  97. */
  98. /*
  99. native GangZonePulse(@PlayerSet:ps, zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME);
  100. native GangZonePulseForPlayer(playerid, zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME);
  101. native GangZonePulseForAll(zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME);
  102. native GangZoneStopPulse(@PlayerSet:ps, zone);
  103. native GangZoneStopPulseForPlayer(playerid, zone);
  104. native GangZoneStopPulseForAll(zone);
  105. */
  106. #include <a_samp>
  107. #include "..\YSI_Internal\y_version"
  108. #include "..\YSI_Data\y_playerset"
  109. #include "..\YSI_Data\y_iterate"
  110. #include "..\YSI_Core\y_debug"
  111. #if !defined ZONE_PULSE_STAGE_TIME
  112. #define ZONE_PULSE_STAGE_TIME (50)
  113. #endif
  114. #include "y_zonepulse/impl"
  115. #if defined YSI_TESTS
  116. #include "..\YSI_Core\y_testing"
  117. #include "y_zonepulse/tests"
  118. #endif