Advertisement
Guest User

Untitled

a guest
Nov 10th, 2012
880
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.55 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <zcmd>
  4. #include <foreach>
  5.  
  6. #undef MAX_PLAYERS
  7. #define MAX_SLOTS 50
  8.  
  9. #define MAX_SNOW_OBJECTS 7
  10. #define UPDATE_INTERVAL 700
  11. #pragma tabsize 0
  12. #define COLOR_SEA 0x00808000
  13. forward ChangeWeather();
  14.  
  15. #if MAX_SLOTS == -1
  16. #error Change MAX_SLOTS to the max players of your server! (At line 6)
  17. #endif
  18.  
  19. #define ploop(%0) for(new %0 = 0; %0 < MAX_SLOTS; %0++) if(IsPlayerConnected(%0))
  20. #define CB:%0(%1) forward %0(%1); public %0(%1)
  21.  
  22. new weather2;
  23.  
  24. new bool:snowOn[MAX_SLOTS char],
  25. snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
  26. updateTimer[MAX_SLOTS char]
  27. ;
  28. public OnFilterScriptInit()
  29. {
  30. SetTimer("ChangeWeather",1200000, true);
  31. }
  32. public OnFilterScriptExit()
  33. {
  34. SetTimer("SnegInt",1000,1);
  35. ploop(i)
  36. {
  37. if(snowOn{i})
  38. {
  39. for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[i][j]);
  40. KillTimer(updateTimer{i});
  41. }
  42. }
  43. return 1;
  44. }
  45.  
  46. public OnPlayerDisconnect(playerid)
  47. {
  48. if(snowOn{playerid})
  49. {
  50. for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid][i]);
  51. snowOn{playerid} = false;
  52. KillTimer(updateTimer{playerid});
  53. }
  54. return 1;
  55. }
  56.  
  57. CB:UpdateSnow(playerid)
  58. {
  59. if(!snowOn{playerid}) return 0;
  60. new Float:pPos[3];
  61. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  62. for(new i = 0; i < MAX_SNOW_OBJECTS; i++) SetDynamicObjectPos(snowObject[playerid][i], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5 + random(10));
  63. return 1;
  64. }
  65.  
  66. stock CreateSnow(playerid)
  67. {
  68. if(snowOn{playerid}) return 0;
  69. new Float:pPos[3];
  70. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  71. for(new i = 0; i < MAX_SNOW_OBJECTS; i++) snowObject[playerid][i] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5 + random(10), random(280), random(280), 0, -1, -1, playerid);
  72. snowOn{playerid} = true;
  73. updateTimer{playerid} = SetTimerEx("UpdateSnow", UPDATE_INTERVAL, true, "i", playerid);
  74. return 1;
  75. }
  76.  
  77. stock DeleteSnow(playerid)
  78. {
  79. if(!snowOn{playerid}) return 0;
  80. for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid][i]);
  81. KillTimer(updateTimer{playerid});
  82. snowOn{playerid} = false;
  83. return 1;
  84. }
  85. forward SnegInt();
  86. public SnegInt()
  87. {
  88. foreach(Player,i)
  89. {
  90. if(GetPlayerInterior(i) > 0)
  91. {
  92. #undef MAX_SNOW_OBJECTS
  93. #define MAX_SNOW_OBJECTS 0
  94. }
  95. if(GetPlayerInterior(i) == 0)
  96. {
  97. #undef MAX_SNOW_OBJECTS
  98. #define MAX_SNOW_OBJECTS 7
  99. }
  100. }
  101. return 1;
  102. }
  103. public ChangeWeather()
  104. {
  105. foreach (Player, i)
  106. {
  107. weather2 = random(22);
  108. if(weather2 == 1)
  109. {
  110. DeleteSnow(i);
  111. SetWeather(0);
  112. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Danas {00BFFF}suncano, {FFFFFF}Savrseno za plazu-kupanje!");
  113. }
  114. else if(weather2 == 2)
  115. {
  116. DeleteSnow(i);
  117. SetWeather(2);
  118. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Do umjereno {00BFFF}oblacno,{FFFFFF}savrseno da ostanete kod kuce,moguc pljusak!");
  119. }
  120. else if(weather2 == 3)
  121. {
  122. DeleteSnow(i);
  123. SetWeather(3);
  124. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Suncano, Savrseno za {00BFFF}voznju!");
  125. }
  126. else if(weather2 == 4)
  127. {
  128. DeleteSnow(i);
  129. SetWeather(4);
  130. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Maglovito s {00BFFF}toplinom,{FFFFFF}zelimo vam opreznu voznju i letenje!");
  131. }
  132. else if(weather2 == 5)
  133. {
  134. DeleteSnow(i);
  135. SetWeather(5);
  136. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se da ce biti {00BFFF}toplinski val{FFFFFF},ne koristite mnogo odjece!");
  137. }
  138. else if(weather2 == 6)
  139. {
  140. DeleteSnow(i);
  141. SetWeather(6);
  142. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se da ce biti {00BFFF}toplinski val{FFFFFF},ne koristite mnogo odjece!");
  143. }
  144. else if(weather2 == 7)
  145. {
  146. DeleteSnow(i);
  147. SetWeather(7);
  148. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}naoblacenje{FFFFFF},vrijeme nije pogodno za izlazak vani!");
  149. }
  150. else if(weather2 == 8)
  151. {
  152. DeleteSnow(i);
  153. SetWeather(8);
  154. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}jaka kisa{FFFFFF} moze doci i do leda, bolje biti u domovima,zbog velike opasnosti!");
  155. }
  156. else if(weather2 == 9)
  157. {
  158. DeleteSnow(i);
  159. SetWeather(9);
  160. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}Maglovito vrijeme{FFFFFF},opreznu voznju i let vam zelimo!");
  161. }
  162. else if(weather2 == 10)
  163. {
  164. DeleteSnow(i);
  165. SetWeather(10);
  166. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano danas{FFFFFF}, ali moguca je kisa u toku dana!");
  167. }
  168. else if(weather2 == 11)
  169. {
  170. DeleteSnow(i);
  171. SetWeather(11);
  172. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Suncano {00BFFF}vrijeme ce biti, {FFFFFF}savrseno za voznju biciklom!");
  173. }
  174. else if(weather2 == 12)
  175. {
  176. DeleteSnow(i);
  177. SetWeather(12);
  178. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Oblacno vrijeme {00BFFF}predvideno,{FFFFFF}ne izlazite bez vaseg kisobrana!");
  179. }
  180. else if(weather2 == 13)
  181. {
  182. DeleteSnow(i);
  183. SetWeather(13);
  184. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme je {00BFFF}suncano,{FFFFFF}savrseno za letjeti!");
  185. }
  186. else if(weather2 == 14)
  187. {
  188. DeleteSnow(i);
  189. SetWeather(14);
  190. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}suncano vrijeme{FFFFFF},Savrseno za setnju!");
  191. }
  192. else if(weather2 == 15)
  193. {
  194. DeleteSnow(i);
  195. SetWeather(15);
  196. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Biti ce {00BFFF}oblacno,{FFFFFF}ne izlazite vani!");
  197. }
  198. else if(weather2 == 16)
  199. {
  200. DeleteSnow(i);
  201. SetWeather(16);
  202. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}kisa,{FFFFFF}bilo bi dobro da uzmete vase kisobrane!");
  203. }
  204. else if(weather2 == 17)
  205. {
  206. DeleteSnow(i);
  207. SetWeather(17);
  208. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano uz veliku toplinu,{FFFFFF}ne uzimati puno odjece!");
  209. }
  210. else if(weather2 == 18)
  211. {
  212. DeleteSnow(i);
  213. SetWeather(18);
  214. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano uz veliku toplinu,{FFFFFF}ne uzimati puno odjece!");
  215. }
  216. else if(weather2 == 19)
  217. {
  218. DeleteSnow(i);
  219. SetWeather(19);
  220. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Sada ce biti {00BFFF}Jaka Oluja{FFFFFF},preporucuje se da ne vozite ili da ne letite!");
  221. }
  222. else if(weather2 == 20)
  223. {
  224. DeleteSnow(i);
  225. SetWeather(20);
  226. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}povremeno oblacno{FFFFFF}, budite oprezni i uzmite kisobran!");
  227. }
  228. else if(weather2 == 21)
  229. {
  230. SetWeather(20);
  231. CreateSnow(i);
  232. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Prognozira se {00BFFF}sneg{FFFFFF}, pazi te se klizavih puteva!");
  233. }
  234. else if(weather2 == 22)
  235. {
  236. SetWeather(20);
  237. CreateSnow(i);
  238. SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Prognozira se {00BFFF}sneg{FFFFFF}, pazi te se klizavih puteva!");
  239. }
  240. }
  241. return 1;
  242. }
  243. CMD:snow(playerid, params[])
  244. {
  245. if(snowOn{playerid})
  246. {
  247. DeleteSnow(playerid);
  248. SendClientMessage(playerid, 0x00FF00AA, "* Vise nepada sneg!");
  249. }
  250. else
  251. {
  252. CreateSnow(playerid);
  253. SendClientMessage(playerid, 0x00FF00AA, "* Nastimali ste da pada sneg!!");
  254. }
  255. return 1;
  256. }
  257.  
  258. CMD:upalisvimasneg(playerid, params[])
  259. {
  260. ploop(i) //This is included in my FS! It's the '#define ploop(%0)' thing.
  261. {
  262. if(snowOn{i}) continue;
  263. CreateSnow(i);
  264. }
  265. return 1;
  266. }
  267.  
  268. CMD:ugasisvimasneg(playerid, params[])
  269. {
  270. ploop(i)
  271. {
  272. if(!snowOn{i}) continue;
  273. DeleteSnow(i);
  274. }
  275. return 1;
  276. }
  277. CMD:promeniprognozu(playerid, params[])
  278. {
  279. ChangeWeather();
  280. return 1;
  281. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement