s3rious

s3Zone - Gang Zone Functions

Feb 28th, 2012
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.40 KB | None | 0 0
  1. /*
  2.     @author:    s3rious
  3.     @name:      s3Zone - Gang Zone Functions
  4.     @ver:       1.0 f
  5.  
  6.                                                                     in 2012
  7. */
  8. // Includes --------------------------------------------------------------------
  9. #include < A_SAMP >
  10.  
  11. // Defines ---------------------------------------------------------------------
  12. #define MAX_GANGZONES   50
  13. #define MAX_GZ_TEAMS    20
  14.  
  15. enum GZ_ENUM_DATA
  16. {
  17.     Zone_id,
  18.     Owner_team,
  19.     Float:MinX,
  20.     Float:MinY,
  21.     Float:MaxX,
  22.     Float:MaxY
  23. }
  24.  
  25. new
  26.     s3Zone_g_Zone[ MAX_GANGZONES ][ GZ_ENUM_DATA ],
  27.     s3Zone_g_Color[ MAX_GZ_TEAMS ],
  28.     s3Zone_g_GangZones,
  29.     s3Zone_g_TeamCount
  30.     ;
  31.  
  32. //------------------------------------------------------------------------------
  33. stock AddGangTeam(color)
  34. {
  35.     s3Zone_g_TeamCount++;
  36.     s3Zone_g_Color[ s3Zone_g_TeamCount ] = color;
  37.     return s3Zone_g_TeamCount;
  38. }
  39.  
  40. //------------------------------------------------------------------------------
  41. stock CreateGangZone(Float:minx, Float:miny, Float:maxx, Float:maxy, s_Owner)
  42. {
  43.     s3Zone_g_GangZones++;
  44.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ] = GangZoneCreate(minx, miny, maxx, maxy);
  45.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ Owner_team ] = s_Owner;
  46.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ MinX ] = minx;
  47.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ MinY ] = miny;
  48.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ MaxX ] = maxx;
  49.     s3Zone_g_Zone[ s3Zone_g_GangZones ][ MaxY ] = maxy;
  50.     GangZoneShowForAll(s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ], s3Zone_g_Color[ s_Owner ]);
  51.     return s3Zone_g_GangZones;
  52. }
  53.  
  54. //------------------------------------------------------------------------------
  55. stock bool:IsPlayerInGangZone(playerid, zoneid)
  56. {
  57.     if(!s3Zone_g_GangZones) return false;
  58.  
  59.     new
  60.         Float:PosX,
  61.         Float:PosY,
  62.         Float:PosZ
  63.     ;
  64.  
  65.     GetPlayerPos(playerid, PosX, PosY, PosZ);
  66.     if(PosX > s3Zone_g_Zone[ zoneid ][ MinX ] && PosX < s3Zone_g_Zone[ zoneid ][ MaxX ] && PosY > s3Zone_g_Zone[ zoneid ][ MinY ] && PosY < s3Zone_g_Zone[ zoneid ][ MaxY ]) return true;
  67.     return false;
  68. }
  69.  
  70. //------------------------------------------------------------------------------
  71. stock bool:IsPlayerInAnyGangZone(playerid)
  72. {
  73.     if(!GetPlayerGangZone(playerid)) return true;
  74.     return false;
  75. }
  76.  
  77. //------------------------------------------------------------------------------
  78. stock SetGangZoneFlash(FlashColor)
  79. {
  80.     GangZoneFlashForAll(s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ], s3Zone_g_Color[ FlashColor ]);
  81.     return 1;
  82. }
  83.  
  84. //------------------------------------------------------------------------------
  85. stock SetGangZoneOwnerTeam(zoneid, n_Owner)
  86. {
  87.     GangZoneStopFlashForAll(s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ]);
  88.  
  89.     GangZoneHideForAll(s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ]);
  90.     GangZoneShowForAll(s3Zone_g_Zone[ s3Zone_g_GangZones ][ Zone_id ], s3Zone_g_Color[ n_Owner ]);
  91.  
  92.     s3Zone_g_Zone[ zoneid ][ Owner_team ] = n_Owner;
  93.     return 1;
  94. }
  95.  
  96. //------------------------------------------------------------------------------
  97. stock GetPlayerGangZone(playerid)
  98. {
  99.     if(!s3Zone_g_GangZones) return 0;
  100.  
  101.     new
  102.         s3Zone_l_Zone   =   0
  103.     ;
  104.  
  105.     while(s3Zone_l_Zone < s3Zone_g_GangZones)
  106.     {
  107.         s3Zone_l_Zone++;
  108.         if(IsPlayerInGangZone(playerid, s3Zone_l_Zone))
  109.         {
  110.             return s3Zone_l_Zone;
  111.         }
  112.     }
  113.     return 0;
  114. }
  115.  
  116. //------------------------------------------------------------------------------
  117. stock GetGangZoneOwner(zoneid)
  118. {
  119.     return s3Zone_g_Zone[ zoneid ][ Owner_team ];
  120. }
Advertisement
Add Comment
Please, Sign In to add comment