Advertisement
Guest User

Untitled

a guest
Oct 6th, 2011
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.01 KB | None | 0 0
  1. //-------->___________________________________<---------------------------------
  2. //-------->Script Hersteller: [NeR]CAPO________<--------------------------------
  3. //-------->Dieses Script darf nicht als eigenes ausgegeebn werden<--------------
  4. //-------->Den Befehl /credits dürft ihr nicht entfernen !!<------------------
  5.  
  6.  
  7. /*To Do List
  8. -Feuerwehr Fraktion [Erledigt]
  9. -Tacho [Erledigt]
  10. -Feuerwehr System [In Arbeit]
  11. -Feuerwehr Autos einfügen [Erledigt]
  12. -Nur Feuerwehr Leute Autos fahren [Erledigt&Ungetestet]
  13.  
  14. */
  15.  
  16.  
  17.  
  18. #include <a_samp>
  19. //Fraktionen
  20. new feuerwehr[MAX_PLAYERS];
  21. //Fraktionen
  22. #define FILTERSCRIPT
  23. #if defined FILTERSCRIPT
  24. //Farben
  25. #define DUNKELBLAU 0x0005FFFF
  26. #define HELLBLAU 0x009BFFFF
  27. #define HELLBLAU2 0x00CDFFFF
  28. #define LILABLAU 0x3200FFFF
  29. #define ROT 0xFF0000FF
  30. #define COLOR_RED 0xFF0000FF
  31. #define HELLROT 0xFF0000A4
  32. #define ORANGE 0xFF8C00FF
  33. #define ORANGE2 0xFFA000FF
  34. #define ORANGEGELB 0xFFC800FF
  35. #define HELLGRUEN 0x73FF00FF
  36. #define GRUEN 0x00FF1EFF
  37. #define GRUENBLAU 0x00FF8CFF
  38. #define SCHWARZ 0x000000FF
  39. #define GRAUV1 0x8C8C8CFF
  40. #define GRAUV2 0xAAAAAAFF
  41. #define GRAUV3 0x464646FF
  42. #define GRAUV4 0xBEBEBEFF
  43. #define ROSA 0xFF00D7FF
  44. #define LILA 0xB400FFFF
  45. #define BRAUNROT 0x4B0000FF
  46. #define WEIß 0xFEFEFEFF
  47. #define BRAUN 0x370000FF
  48. #define CYAN 0x00FFF0FF
  49. #define ORANGEV2 0xFF4600FF
  50. #define LILAV2 0x7800FFFF
  51. #define GRAUV5 0xD2D2D2FF
  52. #define GRASGRUEN 0x69FF00FF
  53. #define GRASGRUENV2 0xB9FF00FF
  54. #define LILAROT 0xFF0055FF
  55. #define HAUTFARBE 0xCF6C008C
  56. #define HELLROSA 0xCF6CE08C
  57. #define DUNKELGRÜN 0x002400FF
  58. #define DUNKELBLAUV2 0x002438FF
  59. #define SANITAETERFARBE 0xFF4435FF
  60. #define HELLROSAV2 0xFF84FFFF
  61. #define GELB 0xFFFF00FF
  62. #define DUNKELLILA 0xB000CCFF
  63. #define WEINROT 0xB0003CFF
  64. #define ANDERSGELB 0xCCDD8CFF
  65. #define DUNKELGRAU 0x3C3C3CFF
  66. #define DIFFERENZROSA 0xC75C83B5
  67. #define PISSGELB 0xFFFF0FB5
  68. #define HELLGRUENV5 0x00FF0041
  69. #define GANZWEIß 0xFFFFFFFF
  70. #define FBIBLAU 0x1400FFFF
  71. #define LVPDBLAU 0x00AFFFFF
  72. #define GSGRUEN 0x41FF00FF
  73. #define BALLALILA 0xAA00FFFF
  74. #define HITMANSCHWARZ 0x0A0A0AFF
  75. #define TERRORORANGE 0xFF6E00FF
  76. #define CRIMEROT 0xFF0005FF
  77. #define ZIVIWEIß 0xF0F0F0FF
  78. #define COLOR_LIGHTBLUE 0x0093FFFF
  79. //Farben
  80. //Dialoge
  81. #define icondialog 500
  82. //dialoge
  83. forward OnPlayerCommandText(playerid,cmdtext[]);
  84. // Distance
  85. new Float:Xneu[MAX_PLAYERS];
  86. new Float:Yneu[MAX_PLAYERS];
  87. new Float:Zneu[MAX_PLAYERS];
  88. new Float:Xalt[MAX_PLAYERS];
  89. new Float:Yalt[MAX_PLAYERS];
  90. new Float:Zalt[MAX_PLAYERS];
  91. new Float:Num[MAX_PLAYERS];
  92.  
  93. // Textdraw
  94. new Text:kmhdraw;
  95.  
  96. // kmh
  97. forward kmh();
  98.  
  99. //Timer Variables
  100. new JQTimer;
  101.  
  102. //Public Forwards (Die Neuen)
  103. forward jobquit(playerid);
  104. forward OnPlayerPickUpPickup(playerid, pickupid);
  105. forward OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
  106. forward OnPlayerStateChange(playerid, newstate, oldstate);
  107. forward FahrzeugCheck(playerid);
  108. forward Float:GetDistanceBetweenPlayers(p1,p2);
  109. //Icons/Pickups
  110. new fwicon;
  111.  
  112. //Feuerwehr Fahrzeuge
  113. new fwfahrzeuge[2];
  114. forward IstFwCar(carid);
  115. public OnFilterScriptInit()
  116. {
  117. //Überprüfung -> Weniger als 400 HP Fahrzeug
  118. SetTimer("FahrzeugCheck",1000,1);
  119. fwicon = CreatePickup(1239,2,1172.9697,-1323.3682,15.3982);
  120. //-------Timer-----------
  121. SetTimer("kmh", 300, 1);
  122. //-----Textdraw----------
  123. kmhdraw = TextDrawCreate(518, 421, "KM/H: 0");
  124. TextDrawFont(kmhdraw, 3);
  125. //TextDrawLetterSize(kmhdraw, 0.6, 1.8);
  126. TextDrawColor(kmhdraw, GRAUV2);
  127. //TextDrawSetOutline(kmhdraw, 2);
  128. //-----------------------
  129. //Fahrzeuge Feuerwehr
  130. fwfahrzeuge[0] = AddStaticVehicle(407,1176.4711,-1338.2260,13.6110,268.8260,0,0); // Fwehrauto1
  131. fwfahrzeuge[1] = AddStaticVehicle(416,1178.0768,-1309.0399,13.4901,267.3289,0,0); // Fwehrauto2
  132. //Fahrzeuge Feuerwehr
  133.  
  134. return 1;
  135. }
  136.  
  137. #endif
  138.  
  139. public kmh()
  140. {
  141. for(new i = 0; i < MAX_PLAYERS; i++)
  142. {
  143. if(IsPlayerInAnyVehicle(i) == 1)
  144. {
  145. //---------------------------------------------------
  146. GetPlayerPos(i, Xneu[i], Yneu[i], Zneu[i]);
  147. Num[i] = (Xneu[i] - Xalt[i]) - (Yneu[i] - Yalt[i]) - (Zneu[i] - Zalt[i]);
  148. Xalt[i] = Xneu[i]; Yalt[i] = Yneu[i]; Zalt[i] = Zneu[i];
  149. Num[i] = Num[i] * 4;
  150. //---------------------------------------------------
  151. if(Num[i] < 0)
  152. {
  153. Num[i] = Num[i] - Num[i] - Num[i];
  154. }
  155. //---------------------------------------------------
  156. new string1[256];
  157. format(string1, sizeof(string1), "KM/H: %0f", Num[i]);
  158. TextDrawSetString(Text:kmhdraw,string1);
  159. }
  160. }
  161. }
  162.  
  163. // Beim Austeigen wird Textdraw ausgeblendet! Funktion
  164. public OnPlayerExitVehicle(playerid, vehicleid)
  165. {
  166. TextDrawHideForPlayer(playerid, Text:kmhdraw);
  167. return 1;
  168. }
  169.  
  170. // Beim Einsteigen wird Textdraw angezeigt! Funktion
  171. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  172. {
  173. TextDrawShowForPlayer(playerid, Text:kmhdraw);
  174. return 1;
  175. }
  176. public jobquit(playerid)
  177. {
  178. KillTimer(JQTimer);
  179. SendClientMessage(playerid,HELLBLAU,"Du kannst deinen Job als Freiwillige Feuerwehr nun beenden.");
  180. return 1;
  181. }
  182. public OnPlayerCommandText(playerid, cmdtext[])
  183. {
  184. new cmd[256];
  185. new sendername[MAX_PLAYER_NAME];
  186. new idx;
  187. if(strcmp(cmd, "/retten", true) == 0)
  188. {
  189. new string [256];
  190. new tmp[256];
  191. new giveplayer[200];
  192. new text[70];
  193. if(IsPlayerConnected(playerid))
  194. {
  195. tmp = strtok(cmdtext, idx);
  196. new otherplayer = strval(tmp);
  197. if(!strlen(tmp))
  198. {
  199. SendClientMessage(playerid, GRAUV2, "Benutze: /retten [ID]");
  200. return 0;
  201. }
  202. if(!IsPlayerConnected(otherplayer)) return SendClientMessage(playerid, ROT, "Ungültige ID!");
  203. if(GetDistanceBetweenPlayers(playerid,otherplayer <= 5.0))
  204. {
  205. GetPlayerName(otherplayer, giveplayer, sizeof(giveplayer));
  206. GetPlayerName(playerid, sendername, sizeof(sendername));
  207. new Float:X;
  208. new Float:Y;
  209. new Float:Z;
  210. GetPlayerPos(playerid,X,Y,Z);
  211. SetPlayerPos(otherplayer,X,Y+1,Z);
  212. new rand = random(50);
  213. format(string, sizeof(string), "Du hast %s gerettet. Du bekommst %d$", giveplayer,rand);
  214. GivePlayerMoney(playerid,rand);
  215. SendClientMessage(playerid,WEIß, string);
  216. format(text, sizeof(text),"Du wurdest von %s gerettet, dir wurde -%d$ als Rettungskosten abgezogen.",playerid,rand);
  217. SendClientMessage(otherplayer, WEIß, text);
  218. TogglePlayerControllable(otherplayer, 1);
  219. TogglePlayerControllable(playerid, 1);
  220. }
  221. else
  222. {
  223. SendClientMessage(playerid, COLOR_RED, "Du kannst %s (ID %d )nicht retten, er zuweit weg!");
  224. }
  225.  
  226. }
  227. return 0;
  228. }
  229. if(strcmp("/feuerwehr kündigen",cmdtext,true) == 0)
  230. {
  231. if(IsPlayerInRangeOfPoint(playerid,3.0,1172.9697,-1323.3682,15.3982))
  232. {
  233. if(feuerwehr[playerid] == 1)
  234. {
  235. if(JQTimer == 0)
  236. {
  237. feuerwehr[playerid] = 0;
  238. SendClientMessage(playerid,HELLBLAU,"Du hast deinen Job als Freiwillige Feuerwehr gekündigt.");
  239. return 1;
  240. }
  241. else
  242. {
  243. SendClientMessage(playerid,ROT,"Du kannst deinen Job noch nicht kündigen.");
  244. }
  245. }
  246. else
  247. {
  248. SendClientMessage(playerid,ROT,"Du arbeitset nicht bei der Freiwilligen Feuerwehr, also kannst du nichts kündigen.");
  249. }
  250. }
  251. else
  252. {
  253. SendClientMessage(playerid,ROT,"Du bist nicht beim Krankenhaus in LS.");
  254. }
  255. return 1;
  256. }
  257. if(strcmp("/feuerwehr beitreten",cmdtext,true) == 0)
  258. {
  259. if(IsPlayerInRangeOfPoint(playerid,3.0,1172.9697,-1323.3682,15.3982))
  260. {
  261. if(feuerwehr[playerid] == 0)
  262. {
  263. JQTimer = SetTimer("jobquit",1800000,0);
  264. SendClientMessage(playerid,DUNKELGRÜN,"Du bist nun Mitglied der Freiwilligen Feuerwehr.");
  265. feuerwehr[playerid] = 1;
  266. }
  267. else
  268. {
  269. SendClientMessage(playerid,ROT,"Du bist schon Mitglied der Freiwilligen Feuerwehr.");
  270. }
  271. }
  272. else
  273. {
  274. SendClientMessage(playerid,ROT,"Du bist nicht beim Krankenhaus in LS");
  275. }
  276. return 1;
  277. }
  278. if(strcmp("/credits",cmdtext,true) == 0)
  279. {
  280. SendClientMessage(playerid,DUNKELGRÜN,"------Filterscript Mix------");
  281. SendClientMessage(playerid,ROT,"Der Scripthersteller ist: [NeR]CAPO");
  282. SendClientMessage(playerid,DUNKELGRÜN,"------Filterscript Mix------");
  283. return 1;
  284. }
  285. if(strcmp("/changelog",cmdtext,true) == 0)
  286. {
  287. SendClientMessage(playerid,HELLBLAU,"Es wurde folgendes gemacht:");
  288. SendClientMessage(playerid,HELLBLAU,"V0.1 KM/H System eingefügt");
  289. SendClientMessage(playerid,HELLBLAU,"V0.2 Feuerwehr Fraktion eingefügt");
  290. return 1;
  291. }
  292. return 0;
  293. }
  294. public OnPlayerPickUpPickup(playerid, pickupid)
  295. {
  296. if(pickupid == fwicon)
  297. {
  298. ShowPlayerDialog(playerid,icondialog,DIALOG_STYLE_MSGBOX,"Feuerwehr","Du kannst hier den Feuerwehr Job annehmen oder kündigen.\nTippe dafür /feuerwehr beitreten oder /feuerwehr kündigen","Ok","");
  299. }
  300.  
  301. return 1;
  302. }
  303. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  304. {
  305. return 1;
  306. }
  307. public OnPlayerStateChange(playerid, newstate, oldstate)
  308. {
  309. new fwcar = GetPlayerVehicleID(playerid);
  310. if(newstate == PLAYER_STATE_DRIVER)
  311. {
  312. if(IstFwCar(fwcar))
  313. {
  314. if(feuerwehr[playerid] == 1) {}
  315. else
  316. {
  317. RemovePlayerFromVehicle(playerid);
  318. SendClientMessage(playerid, COLOR_RED, "Du bist nicht bei der Feuerwehr!");
  319. }
  320. }
  321. }
  322. return 1;
  323. }
  324. public IstFwCar(carid)
  325. {
  326. for(new i = 0; i < sizeof(fwfahrzeuge); i++)
  327. {
  328. if(carid == fwfahrzeuge[i])
  329. {
  330. return 1;
  331. }
  332. }
  333. return 0;
  334. }
  335. public FahrzeugCheck(playerid)
  336. {
  337. new Float:health;
  338. new string[256];
  339. new vehicleid = GetPlayerVehicleID(playerid);
  340. if(IsPlayerInAnyVehicle(playerid))
  341. {
  342. GetVehicleHealth(vehicleid, health);
  343. format(string, 256, "Autoschaden: %0.0f",health);
  344. SendClientMessage(playerid,ROT, string);
  345. }
  346. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  347. {
  348. new veh;
  349. veh = GetPlayerVehicleID(playerid);
  350. GetVehicleHealth(veh, health);
  351. if(health < 400)
  352. {
  353. TogglePlayerControllable(playerid, 0);
  354. SendClientMessage(playerid, 0xFF6900AA, "Dieses Auto ist kaputt, du kommst nicht mehr raus. Rufe die Feuerwehr mit /Feuerwehr");
  355. SetVehicleHealth(vehicleid, 185.0);
  356. SetPlayerHealth(playerid,100);
  357. } }
  358. }
  359. strtok(const string[], &index)
  360. {
  361. new length = strlen(string);
  362. while ((index < length) && (string[index] <= ' '))
  363. {
  364. index++;
  365. }
  366.  
  367. new offset = index;
  368. new result[20];
  369. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  370. {
  371. result[index - offset] = string[index];
  372. index++;
  373. }
  374. result[index - offset] = EOS;
  375. return result;
  376. }
  377. public Float:GetDistanceBetweenPlayers(p1,p2){
  378. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  379. if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
  380. return -1.00;
  381. }
  382. GetPlayerPos(p1,x1,y1,z1);
  383. GetPlayerPos(p2,x2,y2,z2);
  384. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  385. }
  386. //Damit keine Warnings entstehen !!
  387. #pragma unused IsNumeric
  388. #pragma unused ReturnUser
  389.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement