Advertisement
Guest User

kPickups.inc - by KAT

a guest
Jun 6th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.60 KB | None | 0 0
  1. /*
  2.  
  3.  
  4.                 * Autorius: KAT
  5.                 * Versija: 1.0
  6.                 * Išleidimas: 2013/06/06
  7.                 * Paskutinis atnaujinimas: N/A
  8.  
  9.  
  10.  
  11.  
  12. */
  13.  
  14.  
  15. /*
  16.     FUNKCIJOS:
  17.  
  18.     native Pickup(sP_id,Float:pP_x,Float:pP_y,Float:pP_z, pP_type, pP_model, pP_virtual); - naudojama sukurti Pickup'ui
  19.     native ReloadPickups(); - Perkrauna visus Pickup'us
  20.     native ReloadPickup(_pID); - Perkrauna pickup'ą pagal jo ID
  21.     native HidePickup(_pID); - paslepia Pickup'ą ( jo nerodo žaidėjams )
  22.     native ShowPickup(_pID); - parodo Pickup'ą žaidėjams
  23.     native HidePickupForTime(_pID, _pSeconds); - paslėpia pickup'ą kažkuriam laikui ( pvz.: 10 sek )
  24.     native ChangePickupModel(_pID, _p_Model); - pakeičiai pickup'o modelį ir iškarto realod'ina pickupą
  25.     native ChangePickupType(_pID, _p_Type); - pakeičiai pickup'o tipą ir iškarto realod'ina pickupą
  26.     native GetNearestPickupFromPoint(Float:x1, Float:y1, Float:z1, Float: dist = 100.0); - išgauna arčiausiai esantį pickup'ą pagal nurodytą atstumą ( default - 100.0 )
  27.     native IsValidPickup(_pID); - patikrina ar pickup'as yra egzistuojantis pagal nurodytą ID
  28. */
  29.  
  30.  
  31. enum _pDATA
  32. {
  33.     s_id,
  34.     s_pickup,
  35.     Float:p_x,
  36.     Float:p_y,
  37.     Float:p_z,
  38.     p_type,
  39.     p_model,
  40.     p_virtual,
  41.     bool:hidden
  42.  
  43. }
  44. new _pickup[MAX_PICKUPS][_pDATA];
  45.  
  46.  
  47. stock Pickup(sP_id,Float:pP_x,Float:pP_y,Float:pP_z, pP_type, pP_model, pP_virtual)
  48. {
  49.     _pickup[sP_id][s_id] = sP_id;
  50.     _pickup[sP_id][s_pickup] = CreatePickup(pP_model, pP_type, pP_x, pP_y, pP_z, pP_virtual);
  51.     _pickup[sP_id][p_x] = pP_x;
  52.     _pickup[sP_id][p_y] = pP_y;
  53.     _pickup[sP_id][p_z] = pP_z;
  54.     _pickup[sP_id][p_type] = pP_type;
  55.     _pickup[sP_id][p_model] = pP_model;
  56.     _pickup[sP_id][p_virtual] = pP_virtual;
  57.     return printf("Pickup( ID: %i, model: %i ) pakrautas!",sP_id,pP_model);
  58.  
  59. }
  60.  
  61.  
  62. stock ReloadPickups()
  63. {
  64.     for(new p = 0; p < MAX_PICKUPS; p++)
  65.     {
  66.         DestroyPickup(_pickup[p][s_pickup]);
  67.         _pickup[p][s_pickup] = CreatePickup(_pickup[p][p_model], _pickup[p][p_type], _pickup[p][p_x], _pickup[p][p_y], _pickup[p][p_z], _pickup[p][p_virtual]);
  68.         printf("Perkrauta %i pickupų!");
  69.     }
  70. }
  71.  
  72. stock ReloadPickup(_pID)
  73. {
  74.     if(!IsValidPickup(_pID)) return 0;
  75.     DestroyPickup(_pickup[_pID][s_pickup]);
  76.     _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
  77.     printf("Perkrautas ID: %i pickup'as!");
  78.     return 1;
  79. }
  80.  
  81. stock HidePickup(_pID)
  82. {
  83.     if(!IsValidPickup(_pID)) return 0;
  84.     DestroyPickup(_pickup[_pID][s_pickup]);
  85.     _pickup[_pID][hidden]=true;
  86.     printf("Paslėptas ID: %i pickup'as!");
  87.     return 1;
  88. }
  89.  
  90. stock ShowPickup(_pID)
  91. {
  92.     if(!IsValidPickup(_pID)) return 0;
  93.     if(!_pickup[_pID][hidden]) return 0;
  94.     _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
  95.     printf("Parodytas ID: %i pickup'as!");
  96.     return 1;
  97. }
  98.  
  99. stock HidePickupForTime(_pID, _pSeconds)
  100. {
  101.     if(!IsValidPickup(_pID)) return 0;
  102.     DestroyPickup(_pickup[_pID][s_pickup]);
  103.     _pickup[_pID][hidden]=true;
  104.     SetTimerEx("_ShowPickupAfterTime",_pSeconds*1000,false,"d",_pID);
  105.     printf("Paslėptas ID: %i pickup'as %i sekundems!",_pSeconds);
  106.     return 1;
  107. }
  108.  
  109. forward _ShowPickupAfterTime(_pID);
  110. public _ShowPickupAfterTime(_pID)
  111. {
  112.     if(!IsValidPickup(_pID)) return 0;
  113.     if(!_pickup[_pID][hidden]) return 0;
  114.     _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
  115.     printf("Parodytas ID: %i pickup'as po taimerio!");
  116.     return 1;
  117. }
  118.  
  119. stock ChangePickupModel(_pID, _p_Model)
  120. {
  121.     if(!IsValidPickup(_pID)) return 0;
  122.     if(_pickup[_pID][hidden]) return 0;
  123.     _pickup[_pID][p_model] = _p_Model;
  124.     ReloadPickup(_pID);
  125.     return 1;
  126. }
  127. stock ChangePickupType(_pID, _p_Type)
  128. {
  129.     if(!IsValidPickup(_pID)) return 0;
  130.     if(_pickup[_pID][hidden]) return 0;
  131.     _pickup[_pID][p_type] = _p_Type;
  132.     ReloadPickup(_pID);
  133.     return 1;
  134. }
  135.  
  136. stock GetNearestPickupFromPoint(Float:x1, Float:y1, Float:z1, Float: dist = 100.0)
  137. {
  138.     new targetid = -1;
  139.     new Float:tmpdis;
  140.     for( new p = 0; p < MAX_PICKUPS; p++)
  141.     {
  142.         tmpdis = floatsqroot(floatpower(floatabs(floatsub(_pickup[p][p_x],x1)),2)+floatpower(floatabs(floatsub(_pickup[p][p_y],y1)),2)+floatpower(floatabs(floatsub(_pickup[p][p_z],z1)),2));
  143.         if(tmpdis < dist)
  144.         {
  145.             dist = tmpdis;
  146.             targetid = p;
  147.         }
  148.     }
  149.     return targetid;
  150. }
  151.  
  152. stock IsValidPickup(_pID)
  153. {
  154.     for( new p = 0; p < MAX_PICKUPS; p++)
  155.     {
  156.         if(_pickup[p][s_id] == _pID)
  157.         {
  158.             return true;
  159.         }
  160.     }
  161.     return false;
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement