Advertisement
Guest User

Sandra

a guest
Mar 12th, 2008
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. /*
  2. This MoneyArea-include is made by =>Sandra<= on the 12th of March 2008
  3. Do not remove any credits!
  4. */
  5.  
  6. #include <a_samp>
  7.  
  8. #define MAX_MONEY_AREAS 10
  9.  
  10. /*
  11. native AddMoneyArea(AreaID, Float:MinX, Float:MaxX, Float:MinY, Float:MaxY, earnings, frequency);
  12. native UseMoneyArea(areaID, toggle);
  13. native UseAllMoneyAreas(toggle);
  14. native ShowMoneyAreasAsGangZones(toggle);
  15. native GetPlayerArea(playerid);
  16. */
  17.  
  18. enum ainfo
  19. {
  20. IsEnabled,
  21. Float:areaminX,
  22. Float:areamaxX,
  23. Float:areaminY,
  24. Float:areamaxY,
  25. areaearnings,
  26. areafrequency,
  27. gangzone
  28. };
  29.  
  30. new AreaInfo[MAX_MONEY_AREAS][ainfo];
  31. new GlobalCount[MAX_MONEY_AREAS];
  32. new AreasCount;
  33.  
  34. stock AddMoneyArea(AreaID, Float:MinX, Float:MaxX, Float:MinY, Float:MaxY, earnings, frequency)
  35. {
  36. if(AreasCount == 0)
  37. {
  38. SetTimer("MoneyAreaPayout", 1000, 1);
  39. }
  40. AreasCount++;
  41. AreaInfo[AreaID][IsEnabled] = 1;
  42. AreaInfo[AreaID][areaminX] = MinX;
  43. AreaInfo[AreaID][areamaxX] = MaxX;
  44. AreaInfo[AreaID][areaminY] = MinY;
  45. AreaInfo[AreaID][areamaxY] = MaxY;
  46. AreaInfo[AreaID][areaearnings] = earnings;
  47. AreaInfo[AreaID][areafrequency] = frequency;
  48. }
  49.  
  50. stock UseMoneyArea(areaID, toggle)
  51. {
  52. switch(toggle)
  53. {
  54. case 0: {AreaInfo[areaID][IsEnabled] = 0;}
  55. case 1: {AreaInfo[areaID][IsEnabled] = 1;}
  56. }
  57. }
  58. stock UseAllMoneyAreas(toggle)
  59. {
  60. for(new a; a<MAX_MONEY_AREAS; a++)
  61. {
  62. switch(toggle)
  63. {
  64. case 0: {AreaInfo[a][IsEnabled] = 0;}
  65. case 1: {AreaInfo[a][IsEnabled] = 1;}
  66. }
  67. }
  68. }
  69.  
  70. stock ShowMoneyAreasAsGangZones(toggle)
  71. {
  72. for(new a; a<MAX_MONEY_AREAS; a++)
  73. {
  74. if(AreaInfo[a][IsEnabled])
  75. {
  76. if(toggle == 1)
  77. {
  78. GangZoneDestroy(AreaInfo[a][gangzone]);
  79. AreaInfo[a][gangzone] = GangZoneCreate(AreaInfo[a][areaminX], AreaInfo[a][areaminY], AreaInfo[a][areamaxX], AreaInfo[a][areamaxY]);
  80. GangZoneShowForAll(AreaInfo[a][gangzone], 0x00FF00AA);
  81. }
  82. else if(toggle == 0)
  83. {
  84. GangZoneDestroy(AreaInfo[a][gangzone]);
  85. }
  86. }
  87. }
  88. }
  89.  
  90. stock GetPlayerArea(playerid)
  91. {
  92. for(new a; a<MAX_MONEY_AREAS; a++)
  93. {
  94. if(AreaInfo[a][IsEnabled])
  95. {
  96. if(IsPlayerInArea(playerid, AreaInfo[a][areaminX], AreaInfo[a][areamaxX], AreaInfo[a][areaminY], AreaInfo[a][areamaxY]))
  97. {
  98. return a;
  99. }
  100. }
  101. }
  102. return -1;
  103. }
  104.  
  105. forward IsPlayerInArea(playerID, Float:MinX, Float:MaxX, Float:MinY, Float:MaxY);
  106. public IsPlayerInArea(playerID, Float:MinX, Float:MaxX, Float:MinY, Float:MaxY)
  107. {
  108. new Float:X, Float:Y, Float:Z;
  109.  
  110. GetPlayerPos(playerID, X, Y, Z);
  111. if(X >= MinX && X <= MaxX&& Y >= MinY && Y <= MaxY)
  112. {
  113. return 1;
  114. }
  115. return 0;
  116. }
  117.  
  118. forward MoneyAreaPayout();
  119. public MoneyAreaPayout()
  120. {
  121. for(new a; a<MAX_MONEY_AREAS; a++)
  122. {
  123. if(AreaInfo[a][IsEnabled])
  124. {
  125. GlobalCount[a]++;
  126. if(GlobalCount[a] == AreaInfo[a][areafrequency])
  127. {
  128. GlobalCount[a] = 0;
  129. for(new i; i<MAX_PLAYERS; i++)
  130. {
  131. if(IsPlayerConnected(i))
  132. {
  133. if(IsPlayerInArea(i, AreaInfo[a][areaminX], AreaInfo[a][areamaxX], AreaInfo[a][areaminY], AreaInfo[a][areamaxY]))
  134. {
  135. GivePlayerMoney(i, AreaInfo[a][areaearnings]);
  136. }
  137. }
  138. }
  139. }
  140. }
  141. }
  142. }
  143.  
  144.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement