Guest User

Untitled

a guest
Sep 4th, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.48 KB | None | 0 0
  1. // Mein kleines Event-Filterscript
  2. // Nichts besonderes, aber vielseitig nützlich ;)
  3. /*
  4. --- Funktionen ---
  5.  
  6. - Bis zu 5 Events erstellbar
  7.  
  8. - /createevent [1-5] [Eventart]
  9. - /delevent [1-5]
  10. - /eventlist
  11. - /event [1-5]
  12. */
  13.  
  14. #include <a_samp>
  15. #include <ocmd>
  16. #include <sscanf2>
  17.  
  18. #define FEHLER 0xAFAFAFAA //Grau
  19. #define F_O 0xF6B400F6 //Orange
  20. #define COLOR_YELLOW 0xFFFF00AA
  21. #define COLOR_GREEN 0x33AA33AA
  22.  
  23. enum EventInfo
  24. {
  25. EventEins,
  26. EventZwei,
  27. EventDrei,
  28. EventVier,
  29. EventFuenf,
  30. E1Art[128],
  31. E2Art[128],
  32. E3Art[128],
  33. E4Art[128],
  34. E5Art[128],
  35. Float:E1X,
  36. Float:E1Y,
  37. Float:E1Z,
  38. Float:E2X,
  39. Float:E2Y,
  40. Float:E2Z,
  41. Float:E3X,
  42. Float:E3Y,
  43. Float:E3Z,
  44. Float:E4X,
  45. Float:E4Y,
  46. Float:E4Z,
  47. Float:E5X,
  48. Float:E5Y,
  49. Float:E5Z
  50. }
  51. new Event[EventInfo];
  52.  
  53. stock GetName(playerid)
  54. {
  55. new Name[MAX_PLAYER_NAME];
  56. GetPlayerName(playerid,Name,sizeof(Name));
  57. return Name;
  58. }
  59. stock AdminMessage(color,const string[])
  60. {
  61. for(new i = 0; i < MAX_PLAYERS; i++)
  62. {
  63. if(IsPlayerConnected(i))
  64. {
  65. if (IsPlayerAdmin(i))
  66. {
  67. SendClientMessage(i, color, string);
  68. printf("%s", string);
  69. }
  70. }
  71. }
  72. return 1;
  73. }
  74.  
  75. #if defined FILTERSCRIPT
  76.  
  77. public OnFilterScriptInit()
  78. {
  79. print("\n------------------------------------------");
  80. print(" EventSystem by Narushi erfolgreich geladen!");
  81. print("------------------------------------------\n");
  82. return 1;
  83. }
  84.  
  85. public OnFilterScriptExit()
  86. {
  87. return 1;
  88. }
  89.  
  90. #else
  91.  
  92. #endif
  93.  
  94. ocmd:eventlist(playerid,params[])
  95. {
  96. new elist[256];
  97. new EventListe[64] = "====|| Event Liste ||====";
  98. SendClientMessage(playerid,F_O,"====|| Event Liste ||====");
  99. if(Event[EventEins] == 1)
  100. {
  101. new ali[256];
  102. format(ali,sizeof(ali),"Event 1: {FDD700}%s",Event[E1Art]);
  103. SendClientMessage(playerid,0xFEFEFEFE,ali);
  104. }
  105. else if(Event[EventEins] == 0)
  106. {
  107. new ali[256];
  108. format(ali,sizeof(ali),"Event 1: {FF0000}inaktiv");
  109. SendClientMessage(playerid,0xFEFEFEFE,ali);
  110. }
  111. if(Event[EventZwei] == 1)
  112. {
  113. new ali[256];
  114. format(ali,sizeof(ali),"Event 2: {FDD700}%s",Event[E2Art]);
  115. SendClientMessage(playerid,0xFEFEFEFE,ali);
  116. }
  117. else if(Event[EventZwei] == 0)
  118. {
  119. new ali[256];
  120. format(ali,sizeof(ali),"Event 2: {FF0000}inaktiv");
  121. SendClientMessage(playerid,0xFEFEFEFE,ali);
  122. }
  123. if(Event[EventDrei] == 1)
  124. {
  125. new ali[256];
  126. format(ali,sizeof(ali),"Event 3: {FDD700}%s",Event[E3Art]);
  127. SendClientMessage(playerid,0xFEFEFEFE,ali);
  128. }
  129. else if(Event[EventDrei] == 0)
  130. {
  131. new ali[256];
  132. format(ali,sizeof(ali),"Event 3: {FF0000}inaktiv");
  133. SendClientMessage(playerid,0xFEFEFEFE,ali);
  134. }
  135. if(Event[EventVier] == 1)
  136. {
  137. new ali[256];
  138. format(ali,sizeof(ali),"Event 4: {FDD700}%s",Event[E4Art]);
  139. SendClientMessage(playerid,0xFEFEFEFE,ali);
  140. }
  141. else if(Event[EventVier] == 0)
  142. {
  143. new ali[256];
  144. format(ali,sizeof(ali),"Event 4: {FF0000}inaktiv");
  145. SendClientMessage(playerid,0xFEFEFEFE,ali);
  146. }
  147. if(Event[EventFuenf] == 1)
  148. {
  149. new ali[256];
  150. format(ali,sizeof(ali),"Event 5: {FDD700}%s",Event[E5Art]);
  151. SendClientMessage(playerid,0xFEFEFEFE,ali);
  152. }
  153. else if(Event[EventFuenf] == 0)
  154. {
  155. new ali[256];
  156. format(ali,sizeof(ali),"Event 5: {FF0000}inaktiv");
  157. SendClientMessage(playerid,0xFEFEFEFE,ali);
  158. }
  159. format(elist,sizeof(elist),"%s",EventListe);
  160. SendClientMessage(playerid,F_O,elist);
  161. return 1;
  162. }
  163.  
  164. ocmd:event(playerid,params[])
  165. {
  166. new num, str[128];
  167. if(sscanf(params,"i",num))
  168. {
  169. SendClientMessage(playerid,FEHLER,"Benutzung: /event [1-5]");
  170. SendClientMessage(playerid,FEHLER,"Du siehst die Events mit /eventlist");
  171. return 1;
  172. }
  173. if(num < 1 || num > 5)
  174. {
  175. SendClientMessage(playerid,FEHLER,"Ungültige Nummer, gib bitte eine Nummer zwischen 1 bis 5 ein!");
  176. return 1;
  177. }
  178. if(num == 1)
  179. {
  180. if(Event[EventEins] == 0)
  181. {
  182. SendClientMessage(playerid,FEHLER,"Kein Event unter dieser Nummer aktiv!");
  183. return 1;
  184. }
  185. SetPlayerPos(playerid,Event[E1X],Event[E1Y],Event[E1Z]);
  186. format(str,sizeof(str),"%s hat sich zum Event 1 geportet. (/event)",GetName(playerid));
  187. AdminMessage(COLOR_YELLOW,str);
  188. return 1;
  189. }
  190. if(num == 2)
  191. {
  192. if(Event[EventZwei] == 0)
  193. {
  194. SendClientMessage(playerid,FEHLER,"Kein Event unter dieser Nummer aktiv!");
  195. return 1;
  196. }
  197. SetPlayerPos(playerid,Event[E2X],Event[E2Y],Event[E2Z]);
  198. format(str,sizeof(str),"%s hat sich zum Event 2 geportet. (/event)",GetName(playerid));
  199. AdminMessage(COLOR_YELLOW,str);
  200. return 1;
  201. }
  202. if(num == 3)
  203. {
  204. if(Event[EventDrei] == 0)
  205. {
  206. SendClientMessage(playerid,FEHLER,"Kein Event unter dieser Nummer aktiv!");
  207. return 1;
  208. }
  209. SetPlayerPos(playerid,Event[E3X],Event[E3Y],Event[E3Z]);
  210. format(str,sizeof(str),"%s hat sich zum Event 3 geportet. (/event)",GetName(playerid));
  211. AdminMessage(COLOR_YELLOW,str);
  212. return 1;
  213. }
  214. if(num == 4)
  215. {
  216. if(Event[EventVier] == 0)
  217. {
  218. SendClientMessage(playerid,FEHLER,"Kein Event unter dieser Nummer aktiv!");
  219. return 1;
  220. }
  221. SetPlayerPos(playerid,Event[E4X],Event[E4Y],Event[E4Z]);
  222. format(str,sizeof(str),"%s hat sich zum Event 4 geportet. (/event)",GetName(playerid));
  223. AdminMessage(COLOR_YELLOW,str);
  224. return 1;
  225. }
  226. if(num == 5)
  227. {
  228. if(Event[EventFuenf] == 0)
  229. {
  230. SendClientMessage(playerid,FEHLER,"Kein Event unter dieser Nummer aktiv!");
  231. return 1;
  232. }
  233. SetPlayerPos(playerid,Event[E5X],Event[E5Y],Event[E5Z]);
  234. format(str,sizeof(str),"%s hat sich zum Event 5 geportet. (/event)",GetName(playerid));
  235. AdminMessage(COLOR_YELLOW,str);
  236. return 1;
  237. }
  238. return 1;
  239. }
  240. ocmd:createevent(playerid,params[])
  241. {
  242. if(IsPlayerAdmin(playerid))
  243. {
  244. new num, eventart[128], str[128];
  245. if(sscanf(params,"is",num,eventart)) return SendClientMessage(playerid,FEHLER,"Benutzung: /createevent [Nummer][Eventart] - (z.B. /event 1 Derby)");
  246. if(num < 1 || num > 5)
  247. {
  248. SendClientMessage(playerid,FEHLER,"Ungültige Nummer, gib bitte eine Nummer zwischen 1 bis 5 ein!");
  249. return 1;
  250. }
  251. if(num == 1)
  252. {
  253. if(Event[EventEins] == 0)
  254. {
  255. format(str,sizeof(str),"Es wurde ein Event gestartet, Event: %s, benutze /event 1",eventart);
  256. SendClientMessageToAll(COLOR_GREEN,str);
  257. Event[EventEins] = 1;
  258. new Float:X, Float:Y, Float:Z;
  259. GetPlayerPos(playerid,X,Y,Z);
  260. Event[E1Art] = eventart;
  261. Event[E1X] = X;
  262. Event[E1Y] = Y;
  263. Event[E1Z] = Z;
  264. return 1;
  265. }
  266. SendClientMessage(playerid,FEHLER,"Es ist bereits ein Event unter der Nummer 1 aktiv!");
  267. return 1;
  268. }
  269. if(num == 2)
  270. {
  271. if(Event[EventZwei] == 0)
  272. {
  273. format(str,sizeof(str),"Es wurde ein Event gestartet, Event: %s, benutze /event 2",eventart);
  274. SendClientMessageToAll(COLOR_GREEN,str);
  275. Event[EventZwei] = 1;
  276. new Float:X, Float:Y, Float:Z;
  277. GetPlayerPos(playerid,X,Y,Z);
  278. Event[E2Art] = eventart;
  279. Event[E2X] = X;
  280. Event[E2Y] = Y;
  281. Event[E2Z] = Z;
  282. return 1;
  283. }
  284. SendClientMessage(playerid,FEHLER,"Es ist bereits ein Event unter der Nummer 2 aktiv!");
  285. return 1;
  286. }
  287. if(num == 3)
  288. {
  289. if(Event[EventDrei] == 0)
  290. {
  291. format(str,sizeof(str),"Es wurde ein Event gestartet, Event: %s, benutze /event 3",eventart);
  292. SendClientMessageToAll(COLOR_GREEN,str);
  293. Event[EventDrei] = 1;
  294. new Float:X, Float:Y, Float:Z;
  295. GetPlayerPos(playerid,X,Y,Z);
  296. Event[E3Art] = eventart;
  297. Event[E3X] = X;
  298. Event[E3Y] = Y;
  299. Event[E3Z] = Z;
  300. return 1;
  301. }
  302. SendClientMessage(playerid,FEHLER,"Es ist bereits ein Event unter der Nummer 3 aktiv!");
  303. return 1;
  304. }
  305. if(num == 4)
  306. {
  307. if(Event[EventVier] == 0)
  308. {
  309. format(str,sizeof(str),"Es wurde ein Event gestartet, Event: %s, benutze /event 4",eventart);
  310. SendClientMessageToAll(COLOR_GREEN,str);
  311. Event[EventVier] = 1;
  312. new Float:X, Float:Y, Float:Z;
  313. GetPlayerPos(playerid,X,Y,Z);
  314. Event[E4Art] = eventart;
  315. Event[E4X] = X;
  316. Event[E4Y] = Y;
  317. Event[E4Z] = Z;
  318. return 1;
  319. }
  320. SendClientMessage(playerid,FEHLER,"Es ist bereits ein Event unter der Nummer 4 aktiv!");
  321. return 1;
  322. }
  323. if(num == 5)
  324. {
  325. if(Event[EventFuenf] == 0)
  326. {
  327. format(str,sizeof(str),"Es wurde ein Event gestartet, Event: %s, benutze /event 5",eventart);
  328. SendClientMessageToAll(COLOR_GREEN,str);
  329. Event[EventFuenf] = 1;
  330. new Float:X, Float:Y, Float:Z;
  331. GetPlayerPos(playerid,X,Y,Z);
  332. Event[E5Art] = eventart;
  333. Event[E5X] = X;
  334. Event[E5Y] = Y;
  335. Event[E5Z] = Z;
  336. return 1;
  337. }
  338. SendClientMessage(playerid,FEHLER,"Es ist bereits ein Event unter der Nummer 5 aktiv!");
  339. return 1;
  340. }
  341. return 1;
  342. }
  343. return 1;
  344. }
  345. ocmd:delevent(playerid,params[])
  346. {
  347. if(IsPlayerAdmin(playerid))
  348. {
  349. new num, str[128];
  350. if(sscanf(params,"i",num)) return SendClientMessage(playerid,FEHLER,"Benutzung: /delevent [Nummer]");
  351. if(num < 1 || num > 5)
  352. {
  353. SendClientMessage(playerid,FEHLER,"Ungültige Nummer, gib bitte eine Nummer zwischen 1 bis 5 ein!");
  354. return 1;
  355. }
  356. if(num == 1)
  357. {
  358. if(Event[EventEins] == 1)
  359. {
  360. Event[EventEins] = 0;
  361. format(str,sizeof(str),"%s hat Event 1 beendet. Event: %s",GetName(playerid),Event[E1Art]);
  362. SendClientMessageToAll(COLOR_YELLOW,str);
  363. return 1;
  364. }
  365. }
  366. if(num == 2)
  367. {
  368. if(Event[EventZwei] == 1)
  369. {
  370. Event[EventZwei] = 0;
  371. format(str,sizeof(str),"%s hat Event 2 beendet. Event: %s",GetName(playerid),Event[E2Art]);
  372. SendClientMessageToAll(COLOR_YELLOW,str);
  373. return 1;
  374. }
  375. }
  376. if(num == 3)
  377. {
  378. if(Event[EventDrei] == 1)
  379. {
  380. Event[EventDrei] = 0;
  381. format(str,sizeof(str),"%s hat Event 3 beendet. Event: %s",GetName(playerid),Event[E3Art]);
  382. SendClientMessageToAll(COLOR_YELLOW,str);
  383. return 1;
  384. }
  385. }
  386. if(num == 4)
  387. {
  388. if(Event[EventVier] == 1)
  389. {
  390. Event[EventVier] = 0;
  391. format(str,sizeof(str),"%s hat Event 4 beendet. Event: %s",GetName(playerid),Event[E4Art]);
  392. SendClientMessageToAll(COLOR_YELLOW,str);
  393. return 1;
  394. }
  395. }
  396. if(num == 5)
  397. {
  398. if(Event[EventFuenf] == 1)
  399. {
  400. Event[EventFuenf] = 0;
  401. format(str,sizeof(str),"%s hat Event 5 beendet. Event: %s",GetName(playerid),Event[E5Art]);
  402. SendClientMessageToAll(COLOR_YELLOW,str);
  403. return 1;
  404. }
  405. }
  406. }
  407. return 1;
  408. }
Advertisement
Add Comment
Please, Sign In to add comment