Advertisement
Guest User

Beavis NoDM

a guest
Feb 23rd, 2013
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.15 KB | None | 0 0
  1. /*
  2. NoDM Zonen Include by [DT]Beavis
  3.  
  4. Diese Include darf frei verwendet werden.
  5. Das was nicht genehmigt wird, ist das Werk als eigenes zu missbrauchen,
  6. Die weiterveröffentlichung bedarf nur mit einer Genehmigung von mir.
  7.  
  8. 2013 by [DT]Beavis aka Chris
  9. */
  10.  
  11. #include a_samp
  12.  
  13. enum NoDMEnum
  14. {
  15. Float:B_MinX,
  16. Float:B_MinY,
  17. Float:B_MaxX,
  18. Float:B_MaxY,
  19. B_Erstellt,
  20. B_Zone
  21. };
  22.  
  23. new BeavisNoDM[50][NoDMEnum],
  24. Text:Beavis[4],
  25. BeavisInit = 0;
  26.  
  27. forward CreateNoDMZone(Float:B_XMin,Float:B_YMin,Float:B_XMax,Float:B_YMax);
  28. public CreateNoDMZone(Float:B_XMin,Float:B_YMin,Float:B_XMax,Float:B_YMax)
  29. {
  30. for(new i = 0; i < sizeof(BeavisNoDM); i++)
  31. {
  32. if(BeavisNoDM[i][B_Erstellt] == 0)
  33. {
  34. BeavisNoDM[i][B_MinX]=B_XMin;
  35. BeavisNoDM[i][B_MinY]=B_YMin;
  36. BeavisNoDM[i][B_MaxX]=B_XMax;
  37. BeavisNoDM[i][B_MaxY]=B_YMax;
  38. BeavisNoDM[i][B_Erstellt]=1;
  39. BeavisNoDM[i][B_Zone] = GangZoneCreate(BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]);
  40. return 1;
  41. }
  42. }
  43. return 0;
  44. }
  45.  
  46. stock NoDMZoneInit(BeavisDM = 0)
  47. {
  48. if(BeavisDM == 0 || BeavisDM == 1 ||BeavisDM == 2 || BeavisDM == 3)
  49. {
  50. BeavisInit = BeavisDM;
  51. print("\n\n______________________________________________");
  52. print("Beavis NoDM-Include wurde geladen");
  53. print("______________________________________________\n\n");
  54. }
  55. else
  56. {
  57. print("\n\n______________________________________________");
  58. print("Beavis NoDM-Include Error!");
  59. print("NoDMZoneInit fehlerhaft eingestellt");
  60. print("Es wird die Standarteinstellung verwendet");
  61. BeavisInit = 0;
  62. print("______________________________________________\n\n");
  63. }
  64. return 1;
  65. }
  66.  
  67. forward Beavis_OnGameModeInit();
  68. public OnGameModeInit()
  69. {
  70. SetTimer("IsInBeavisNoDm",1000,1);
  71. Beavis[0] = TextDrawCreate(233.000000, 395.000000, "NoDM Zone");
  72. TextDrawBackgroundColor(Beavis[0], 255);
  73. TextDrawFont(Beavis[0], 1);
  74. TextDrawLetterSize(Beavis[0], 0.719999, 3.299998);
  75. TextDrawColor(Beavis[0], -16776961);
  76. TextDrawSetOutline(Beavis[0], 0);
  77. TextDrawSetProportional(Beavis[0], 1);
  78. TextDrawSetShadow(Beavis[0], 1);
  79.  
  80. Beavis[1] = TextDrawCreate(33.000000, 421.000000, "NoDM Zone");
  81. TextDrawBackgroundColor(Beavis[1], 255);
  82. TextDrawFont(Beavis[1], 1);
  83. TextDrawLetterSize(Beavis[1], 0.500000, 1.000000);
  84. TextDrawColor(Beavis[1], -16776961);
  85. TextDrawSetOutline(Beavis[1], 1);
  86. TextDrawSetProportional(Beavis[1], 1);
  87.  
  88. Beavis[2] = TextDrawCreate(538.000000, 415.000000, "NoDM Zone");
  89. TextDrawBackgroundColor(Beavis[2], 255);
  90. TextDrawFont(Beavis[2], 0);
  91. TextDrawLetterSize(Beavis[2], 0.629999, 2.599999);
  92. TextDrawColor(Beavis[2], -16776961);
  93. TextDrawSetOutline(Beavis[2], 0);
  94. TextDrawSetProportional(Beavis[2], 1);
  95. TextDrawSetShadow(Beavis[2], 1);
  96.  
  97. Beavis[3] = TextDrawCreate(498.000000, 98.000000, "~g~NoDM Zone");
  98. TextDrawBackgroundColor(Beavis[3], 255);
  99. TextDrawFont(Beavis[3], 3);
  100. TextDrawLetterSize(Beavis[3], 0.589999, 1.500000);
  101. TextDrawColor(Beavis[3], -16776961);
  102. TextDrawSetOutline(Beavis[3], 1);
  103. TextDrawSetProportional(Beavis[3], 1);
  104.  
  105. return CallLocalFunction("Beavis_OnGameModeInit","");
  106. }
  107.  
  108. forward Beavis_OnPlayerConnect(playerid);
  109. public OnPlayerConnect(playerid)
  110. {
  111. for(new c = 0; c < sizeof(Beavis); c++){
  112. TextDrawHideForPlayer(playerid, Beavis[c]);}
  113. for(new i = 0; i < sizeof(BeavisNoDM); i++){
  114. if(BeavisNoDM[i][B_Erstellt] == 0) continue;
  115. GangZoneShowForPlayer(playerid, BeavisNoDM[i][B_Zone], 0xFF3A3A66);}
  116. return CallLocalFunction("Beavis_OnPlayerConnect","d",playerid);
  117. }
  118.  
  119. forward Beavis_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  120. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  121. {
  122. if(newkeys & 4)
  123. {
  124. for(new i = 0; i < sizeof(BeavisNoDM); i++)
  125. {
  126. if(BeavisNoDM[i][B_Erstellt] == 0) continue;
  127. if(Beavis_IsPlayerInArea(playerid, BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]))
  128. {
  129. if(!IsPlayerInAnyVehicle(playerid))
  130. {
  131. SendClientMessage(playerid,0xFF3A3AFF,"Du wurdest wegen DM in einer NoDM Zone für 5 Sekunden gefreezt!");
  132. TogglePlayerControllable(playerid, 0);
  133. SetTimerEx("Beavis_Freeze", 5000, 0, "d", playerid);
  134. return CallLocalFunction("Beavis_OnPlayerKeyStateChange","ddd",playerid, newkeys, oldkeys);
  135. }
  136. }
  137. }
  138. }
  139. return CallLocalFunction("Beavis_OnPlayerKeyStateChange","ddd",playerid, newkeys, oldkeys);
  140. }
  141.  
  142. forward Beavis_Freeze(playerid);
  143. public Beavis_Freeze(playerid)
  144. {
  145. TogglePlayerControllable(playerid, 1);
  146. return 1;
  147. }
  148.  
  149. forward IsInBeavisNoDm();
  150. public IsInBeavisNoDm()
  151. {
  152. for(new playerid; playerid < MAX_PLAYERS; playerid++)
  153. {
  154. if(!IsPlayerConnected(playerid)) continue;
  155. for(new i = 0; i < sizeof(BeavisNoDM); i++)
  156. {
  157. if(BeavisNoDM[i][B_Erstellt] == 0) continue;
  158. if(Beavis_IsPlayerInArea(playerid, BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]))
  159. {
  160. TextDrawShowForPlayer(playerid, Beavis[BeavisInit]);
  161. SetPlayerArmedWeapon(playerid,0);
  162. }
  163. else
  164. {
  165. TextDrawHideForPlayer(playerid, Beavis[BeavisInit]);
  166. }
  167. }
  168. }
  169. return 1;
  170. }
  171.  
  172. stock Beavis_IsPlayerInArea(playerid,Float:MinX,Float:MinY,Float:MaxX,Float:MaxY)
  173. {
  174. new Float:pX,Float:pY,Float:pZ;
  175. GetPlayerPos(playerid,pX,pY,pZ);
  176. if(pX >= MinX && pX <= MaxX && pY >= MinY && pY <= MaxY) return 1;
  177. else return 0;
  178. }
  179.  
  180. #if defined _ALS_OnPlayerConnect
  181. #undef OnPlayerConnect
  182. #else
  183. #define _ALS_OnPlayerConnect
  184. #endif
  185. #define OnPlayerConnect Beavis_OnPlayerConnect
  186.  
  187. #if defined _ALS_OnGameModeInit
  188. #undef OnGameModeInit
  189. #else
  190. #define _ALS_OnGameModeInit
  191. #endif
  192. #define OnGameModeInit Beavis_OnGameModeInit
  193.  
  194. #if defined _ALS_OnPlayerKeyStateChange
  195. #undef OnPlayerKeyStateChange
  196. #else
  197. #define _ALS_OnPlayerKeyStateChange
  198. #endif
  199. #define OnPlayerKeyStateChange Beavis_OnPlayerKeyStateChange
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement