Guest User

Untitled

a guest
Jun 20th, 2010
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.90 KB | None | 0 0
  1. /**
  2.  *
  3.     * Carlton's Pickup Streamer.
  4.     *
  5.     * @Author - Carlton
  6.     * @Copyright - 2010
  7.     * @Contact - [email protected] | MSN & EMAIL
  8.     *
  9.     *   Functions
  10.     *   native IsAValidStreamedPickup(id);
  11.     *   native DestroyStreamedPickup(id);
  12.     *   native CreateStreamedPickup(id,ModelID,type,Float:_fx,Float:_fy,Float:_fz,VW,Float:range);
  13.     *   native ToggleStreamedPickup(id, bool:Toggle);
  14.     *   native ChangeStreamedPickupPos(id, Float:_fx, Float:_fy, Float:_fz);
  15.     *   native ChangeStreamedPickupRange(id, Float:range);
  16.     *   native ChangeStreamedPickupVW(id, VW);
  17.     *   native ChangeStreamedPickupType(id, type);
  18.     *   native ChangeStreamedPickupModel(id, ModelID);
  19.     *   native OnPlayerEnterStreamedPickup(playerid, id);
  20.     *   native OnPickupStreamerInit(playerid);
  21.     *   native OnPickupStreamerExit(playerid);
  22.     *   native ReloadStreamedPickups(playerid);
  23.     *   native CountStreamedPickups();
  24.     *   native DestroyAllStreamedPickups();
  25.     *   native DisableAllStreamedPickups();
  26.     *   native EnableAllStreamedPickups();
  27.     *   native GetStreamedPickupModel(id);
  28.     *   native GetStreamedPickupType(id);
  29.     *   native GetStreamedPickupVW(id);
  30.     *   native IsPlayerInAnyStreamedPickup(playerid);
  31.     *   native IsPlayerInStreamedPickup(playerid, pickupid);
  32.     *   native IsPlayerInStreamedPickupEx(playerid, pickupid); - Use to get range.
  33.  *
  34. */
  35.  
  36. //#include <a_samp>
  37.  
  38. enum ps {
  39.     ID,
  40.     PID,
  41.     Model,
  42.     Type,
  43.     Float:_X,
  44.     Float:_Y,
  45.     Float:_Z,
  46.     VirtualWorld,
  47.     Float:_Range,
  48.     bool: Used
  49. }
  50. new PickupStreamer[MAX_PICKUPS][ps];
  51. new streamtimer;
  52. new bool:PickupCreated[MAX_PICKUPS];
  53. /*public OnPlayerPickUpPickup(playerid, pickupid)
  54. {
  55.     if(IsAValidStreamedPickup(pickupid)) {
  56.         OnPlayerEnterStreamedPickup(playerid, pickupid);
  57.     }
  58.     return 1;
  59. }
  60.  
  61. forward OnPlayerEnterStreamedPickup(playerid, id);
  62. public OnPlayerEnterStreamedPickup(playerid, id) {
  63.  
  64. }*/
  65.  
  66. forward IsPlayerInAnyStreamedPickup(playerid);
  67. public IsPlayerInAnyStreamedPickup(playerid) {
  68.     for(new i = 0; i > MAX_PICKUPS; i ++ ) {
  69.         if(IsPlayerInRangeOfPoint(playerid, 5.0, PickupStreamer[i][_X], PickupStreamer[i][_X], PickupStreamer[i][_Z]))
  70.         {
  71.             return 1;
  72.         }
  73.     }
  74.     return -1;
  75. }
  76.  
  77. forward IsPlayerInStreamedPickupEx(playerid, id);
  78. public IsPlayerInStreamedPickupEx(playerid, id) {
  79.     if(IsPlayerInRangeOfPoint(playerid, PickupStreamer[id][_Range], PickupStreamer[id][_X], PickupStreamer[id][_Y], PickupStreamer[id][_Z]))
  80.     {
  81.         return 1;
  82.     }
  83.     return -1;
  84. }
  85.  
  86. forward IsPlayerInStreamedPickup(playerid, id);
  87. public IsPlayerInStreamedPickup(playerid, id) {
  88.     if(IsPlayerInRangeOfPoint(playerid, 5.0, PickupStreamer[id][_X], PickupStreamer[id][_Y], PickupStreamer[id][_Z]))
  89.     {
  90.         return 1;
  91.     }
  92.     return -1;
  93. }
  94.  
  95. forward GetStreamedPickupVW(id);
  96. public GetStreamedPickupVW(id) {
  97.     return PickupStreamer[id][VirtualWorld];
  98. }
  99.  
  100. forward GetStreamedPickupType(id);
  101. public GetStreamedPickupType(id) {
  102.     return PickupStreamer[id][Type];
  103. }
  104.  
  105. forward GetStreamedPickupModel(id);
  106. public GetStreamedPickupModel(id) {
  107.     return PickupStreamer[id][Model];
  108. }
  109.  
  110. forward EnableAllStreamedPickups();
  111. public EnableAllStreamedPickups() {
  112.     for(new i = 0; i > MAX_PICKUPS; i ++ ) {
  113.         ToggleStreamedPickup(i, true);
  114.     }
  115. }
  116.  
  117. forward DisableAllStreamedPickups();
  118. public DisableAllStreamedPickups() {
  119.     for(new i = 0; i > MAX_PICKUPS; i ++ ) {
  120.         ToggleStreamedPickup(i, false);
  121.     }
  122. }
  123.  
  124. forward DestroyAllStreamedPickups();
  125. public DestroyAllStreamedPickups() {
  126.     for(new i = 0; i > MAX_PICKUPS; i ++ ) {
  127.         DestroyStreamedPickup(i);
  128.     }
  129. }
  130.  
  131. forward CountStreamedPickups();
  132. public CountStreamedPickups() {
  133.     new amount = 0;
  134.     for(new i = 0; i > MAX_PICKUPS; i ++ ) {
  135.         if(PickupStreamer[i][Used] == true ) {
  136.             amount ++;
  137.         }
  138.     }
  139.     return amount;
  140. }
  141.  
  142. forward ReloadStreamedPickups(playerid);
  143. public ReloadStreamedPickups(playerid) {
  144.     KillTimer(streamtimer);
  145.     streamtimer = SetTimerEx("StreamPickups", 1000, 1, "i", playerid);
  146. }
  147.  
  148. forward ReloadStreamPickups(playerid);
  149. public ReloadStreamPickups(playerid) {
  150.     KillTimer(streamtimer);
  151.     streamtimer = SetTimerEx("StreamPickups", 1000, 1, "i", playerid);
  152. }
  153.  
  154. forward OnPickupStreamerInit(playerid);
  155. public OnPickupStreamerInit(playerid) {
  156.     streamtimer = SetTimerEx("StreamPickups", 1000, 1, "i", playerid);
  157. }
  158.  
  159. forward StreamPickups(playerid);
  160. public StreamPickups(playerid) {
  161.     for(new id = 0; id < MAX_PICKUPS; id ++ )
  162.     {
  163.         if(PickupStreamer[id][Used] == true)
  164.         {
  165.             if(IsPlayerInRangeOfPoint(playerid, PickupStreamer[id][_Range], PickupStreamer[id][_X], PickupStreamer[id][_Y], PickupStreamer[id][_Z]))
  166.             {
  167.                 if(PickupCreated[id] == false) {
  168.                     PickupCreated[id] = true;
  169.                     PickupStreamer[id][PID] = CreatePickup(PickupStreamer[id][Model], PickupStreamer[id][Type], PickupStreamer[id][_X], PickupStreamer[id][_Y], PickupStreamer[id][_Z], PickupStreamer[id][VirtualWorld]);
  170.                 }
  171.             }
  172.             else if(!IsPlayerInRangeOfPoint(playerid, PickupStreamer[id][_Range], PickupStreamer[id][_X], PickupStreamer[id][_Y], PickupStreamer[id][_Z]))
  173.             {
  174.                if(PickupCreated[id] == true) {
  175.                     PickupCreated[id] = false;
  176.                     DestroyPickup(PickupStreamer[id][PID]);
  177.                }
  178.             }
  179.         }
  180.     }
  181.     return 1;
  182. }
  183.  
  184. forward OnPickupStreamerExit(playerid);
  185. public OnPickupStreamerExit(playerid) {
  186.     KillTimer(streamtimer);
  187. }
  188.  
  189. forward IsAValidStreamedPickup(id);
  190. public IsAValidStreamedPickup(id) {
  191.     for(new i = 0; i < MAX_PICKUPS; i ++) {
  192.         if(PickupStreamer[i][ID] == id) return 1;
  193.     }
  194.     return -1;
  195. }
  196.  
  197. forward DestroyStreamedPickup(id);
  198. public DestroyStreamedPickup(id) {
  199.     if(PickupStreamer[id][Used] == false) return 1;
  200.     PickupStreamer[id][Used] = false;
  201.     PickupStreamer[id][Model] = -1;
  202.     PickupStreamer[id][Type] = -1;
  203.     PickupStreamer[id][_X] = 0.0;
  204.     PickupStreamer[id][_Y] = 0.0;
  205.     PickupStreamer[id][_Z] = 0.0;
  206.     PickupStreamer[id][VirtualWorld] = -1;
  207.     PickupStreamer[id][_Range] = 0.0;
  208. //  DestroyPickup(PickupStreamer[id][ID]);
  209.     return 1;
  210. }
  211.  
  212. forward CreateStreamedPickup(id,ModelID,type,Float:_fx,Float:_fy,Float:_fz,VW,Float:range);
  213. public CreateStreamedPickup(id,ModelID,type,Float:_fx,Float:_fy,Float:_fz,VW,Float:range) {
  214.     if(id >= MAX_PICKUPS) return 1;
  215.     for(new i = 0; i < MAX_PICKUPS; i ++) {
  216.         if(PickupStreamer[i][ID] == id) return 1;
  217.     }
  218.     PickupStreamer[id][ID] = id;
  219.     PickupStreamer[id][Model] = ModelID;
  220.     PickupStreamer[id][Type] = type;
  221.     PickupStreamer[id][_X] = _fx;
  222.     PickupStreamer[id][_Y] = _fy;
  223.     PickupStreamer[id][_Z] = _fz;
  224.     PickupStreamer[id][VirtualWorld] = VW;
  225.     PickupStreamer[id][_Range] = range;
  226.     PickupStreamer[id][Used] = true;
  227.     return 1;
  228. }
  229.  
  230. forward ToggleStreamedPickup(id, bool:Toggle);
  231. public ToggleStreamedPickup(id, bool:Toggle) {
  232.     if(Toggle == false) PickupStreamer[id][Used] = false;
  233.     else if(Toggle == true) PickupStreamer[id][Used] = true;
  234.     return 1;
  235. }
  236.  
  237. forward ChangeStreamedPickupPos(id, Float:_fx, Float:_fy, Float:_fz);
  238. public ChangeStreamedPickupPos(id, Float:_fx, Float:_fy, Float:_fz) {
  239.     if(PickupStreamer[id][Used] == false) return 1;
  240.     PickupStreamer[id][_X] = _fx;
  241.     PickupStreamer[id][_Y] = _fy;
  242.     PickupStreamer[id][_Z] = _fz;
  243.     return 1;
  244. }
  245.  
  246. forward ChangeStreamedPickupRange(id, Float:range);
  247. public ChangeStreamedPickupRange(id, Float:range) {
  248.     if(PickupStreamer[id][Used] == false) return 1;
  249.     PickupStreamer[id][_Range] = range;
  250.     return 1;
  251. }
  252.  
  253. forward ChangeStreamedPickupVW(id, VW);
  254. public ChangeStreamedPickupVW(id, VW) {
  255.     if(PickupStreamer[id][Used] == false) return 1;
  256.     PickupStreamer[id][VirtualWorld] = VW;
  257.     return 1;
  258. }
  259.  
  260. forward ChangeStreamedPickupType(id, type);
  261. public ChangeStreamedPickupType(id, type) {
  262.     if(PickupStreamer[id][Used] == false) return 1;
  263.     PickupStreamer[id][Type] = type;
  264.     return 1;
  265. }
  266.  
  267. forward ChangeStreamedPickupModel(id, ModelID);
  268. public ChangeStreamedPickupModel(id, ModelID) {
  269.     if(PickupStreamer[id][Used] == false) return 1;
  270.     PickupStreamer[id][Model] = ModelID;
  271.     return 1;
  272. }
Advertisement
Add Comment
Please, Sign In to add comment