Advertisement
Guest User

extra_iter.inc [ by BroZeus]

a guest
Jul 7th, 2014
650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.11 KB | None | 0 0
  1. /*****************************************************************************
  2. *****Extra Iters for FOREACH[vehicles,objects....and more]********************
  3. ******************* And some Useful Functions*********************************
  4.  
  5.  
  6. Current version--  1.0  [First version]
  7.  
  8.  
  9. So this script contans extra iterates for foreach made by Y_Less
  10.  
  11. The name Iters Added thorugh this include are--
  12.  
  13. Objects                  ||| Contains all objects id's create via function CreateObject
  14. DynamicObjects           ||| Contains all objects id's create via function CreateDynamicObject
  15. Vehicles                 ||| Contains all vehicle id's create via function CreateVehicle/AddStaticVehicle/AddStaticVehicleEx
  16. StaticVehicle            ||| Contains all vehicle id's create via function AddStaticVehicle/AddStaticVehicleEx
  17.  
  18. These can be easily used in foreach like the follwoing examples--
  19.  
  20. foreach(new i : Vehicles){}
  21. foreach(new o: Objects){}
  22. ........and so on for hte others
  23.  
  24. ====================NATIVES [ FUNCTIONS ]=====================
  25. GetTotalObjects()  -- Returns the total number of objects in server
  26.  
  27. GetTotalVehicles()  -- Return the total number of vehicles in server
  28.  
  29. GetTotalStaticVehicles()  -- Return the total number of static vehicle in server @@ Note this is same as the number of vehicle models created that apper on server console when server is started
  30.  
  31. GetTotalDynamicObjects()  -- Returns the total number of Dynamic objects in server
  32.  
  33. IsStaticVehicle(vehicleid)  -- Retruns true if vehicleid was created via function AddStaticVehicle/AddStaticVehicleEx on GameModeInit and false if it was not
  34.  
  35.  
  36. CREDTS---
  37.  
  38. SAMP TEAM for creating SAMP,
  39. Y_Less for foreach include,
  40. and guess me too?
  41.  
  42. ************************************************************************************/
  43.  
  44.  
  45. #if defined _extra_iter_included
  46.     #endinput
  47. #endif
  48.  
  49. #define _extra_iter_included
  50.  
  51. #include <a_samp>
  52. #include <foreach>
  53. #include <streamer>
  54.  
  55. #define MAX_DYNAMIC 20000
  56.  
  57.  
  58. new
  59.     Iterator:Objects<MAX_OBJECTS>,
  60.     Iterator:DynamicObjects<MAX_DYNAMIC>,
  61.     Iterator:Vehicles<MAX_VEHICLES>,
  62.     Iterator:StaticVehicle<MAX_VEHICLES>;
  63.    
  64.  
  65.    
  66.  
  67. stock ffCreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 0.0)
  68. {
  69. new id;
  70. id = CreateObject(modelid, X, Y, Z, rX, rY, rZ, DrawDistance);
  71. Iter_Add(Objects, id);
  72. return id;
  73. }
  74.  
  75.  
  76. stock ffCreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
  77. {
  78. new id;
  79. id = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_delay);
  80. if(id != INVALID_VEHICLE_ID)
  81. Iter_Add(Vehicles, id);
  82. return id;
  83. }
  84.  
  85.  
  86. stock ffAddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)
  87. {
  88. new id;
  89. id = AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, angle, color1, color2);
  90. if(id != INVALID_VEHICLE_ID)
  91.   {
  92.    Iter_Add(Vehicles, id);
  93.    Iter_Add(StaticVehicle, id);
  94.   }
  95. return id;
  96. }
  97.  
  98.  
  99.  
  100.  
  101. stock ffAddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2, respawn_delay)
  102. {
  103. new id;
  104. id = AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, angle, color1, color2, respawn_delay);
  105. if(id != INVALID_VEHICLE_ID)
  106.   {
  107.    Iter_Add(Vehicles, id);
  108.    Iter_Add(StaticVehicle, id);
  109.   }
  110. return id;
  111. }
  112.  
  113.  
  114.  
  115. stock ffDestroyVehicle(vehicleid)
  116. {
  117. new id = DestroyVehicle(vehicleid);
  118. if(id == 1)
  119. Iter_remove(Vehicles, vehicleid);
  120. if(Iter_Contains(StaticVehicle, vehicleid))Iter_Remove(StaticVehicle, vehicleid)
  121. return id;
  122. }
  123.  
  124.  
  125. stock ffDestroyObject(objectid)
  126. {
  127. new id = DestroyObject(objectid);
  128. if(Iter_Contains(Objects, objectid))
  129. Iter_Remove(Objects, objectid);
  130. return id;
  131. }
  132.  
  133. stock ffCreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)
  134. {
  135. new id;
  136. id = CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid, interiorid ,playerid, streamdistanc, drawdistance);
  137. IterAdd(DynamicObjects, id);
  138. return id;
  139. }
  140.  
  141. stock ffDestroyDynamicObject(objectid)
  142. {
  143. if(Iter_Contains(DynamicObjects, objectid))Iter_Remove(DynamicObjects, objectid);
  144. return DestroyDynamicObject(objectid);
  145. }
  146.  
  147.  
  148. //=======================ADDITIONAL FUNCTIONS=================
  149. //************************************************************
  150. /*
  151. native GetTotalObjects();
  152. native GetTotalVehicles();
  153. native GetTotalStaticVehicles();
  154. native GetTotalDynamicObjects();
  155. native IsStaticVehicle(vehicleid);
  156. */
  157.  
  158.  
  159. stock IsStaticVehicle(vehicleid)
  160. {
  161. return Iter_Contains(StaticVehicle, vehicleid);
  162. }
  163.  
  164. stock GetTotalVehicles()
  165. {
  166. return Iter_Count(Vehicles);
  167. }
  168.  
  169.  
  170. stock GetTotalDynamicObjects()
  171. {
  172. return Iter_Count(DynamicObjects);
  173. }
  174.  
  175.  
  176.  
  177. stock GetTotalObjects()
  178. {
  179. return Iter_Count(Objects);
  180. }
  181.  
  182.  
  183. stock GetTotalStaticVehicles()
  184. {
  185. return Iter_Count(StaticVehicle);
  186. }
  187.  
  188.  
  189.  
  190. #if defined _ALS_CreateObject
  191.   #undef CreateObject
  192. #else
  193. #define _ALS_CreateObject
  194. #endif
  195.  
  196.  
  197. #if defined _ALS_DestroyObject
  198.   #undef DestroyObject
  199. #else
  200. #define _ALS_DestroyObject
  201. #endif
  202.  
  203.  
  204. #if defined _ALS_AddStaticVehicle
  205.   #undef AddStaticVehicle
  206. #else
  207. #define _ALS_AddStaticVehicle
  208. #endif
  209.  
  210.  
  211. #if defined _ALS_AddStaticVehicleEx
  212.   #undef AddStaticVehicleEx
  213. #else
  214. #define _ALS_AddStaticVehicleEx
  215. #endif
  216.  
  217.  
  218.  
  219. #if defined _ALS_DestroyVehicle
  220.   #undef DestroyVehicle
  221. #else
  222. #define _ALS_DestroyVehicle
  223. #endif
  224.  
  225.  
  226. #if defined _ALS_DestroyDynamicObject
  227.   #undef DestroyDynamicObject
  228. #else
  229. #define _ALS_DestroyDynamicObject
  230. #endif
  231.  
  232.  
  233. #if defined _ALS_CreateDynamicObject
  234.   #undef CreateDynamicObject
  235. #else
  236. #define _ALS_CreateDynamicObject
  237. #endif
  238.  
  239.  
  240. #if defined _ALS_CreateVehicle
  241.   #undef CreateVehicle
  242. #else
  243. #define _ALS_CreateVehicle
  244. #endif
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253. #define CreateObject ffCreateObject
  254. #define CreateDynamicObject ffCreateDynamicObject
  255. #define CreateVehicle ffCreateVehicle
  256. #define AddStaticVehicle ffAddStaticVehicle
  257. #define AddStaticVehicleEx ffAddStaticVehicleEx
  258. #define DestroyVehicle ffDestroyVehicle
  259. #define DestroyDynamicObject ffDestroyDynamicObject
  260. #define DestroyVehicle ffDestroyVehicle
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement