s3rious

s3Zone 1.2 - Gang Zone Functions

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