Advertisement
Physics

Untitled

Aug 17th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.32 KB | None | 0 0
  1. /*  Dieses Filterscript wurde am 17.08.2012 19:12 erstellt.
  2.  *  Eigentlich geht es an D.Fence, doch wenn ich ein Filerscript
  3.  *  mache, dann auch für das gesamte Forum.
  4.  *
  5.  *  Es ist ziemlich "basisch" angelegt, generell arbeite ich
  6.  *  nicht auf diesem Neavau, doch es ging
  7.  *  hier nur darum, um D.Fence eine kleine Hilfe zu gewähren.
  8.  *  Forbidden (c) 2012/13
  9.  */
  10.  
  11.  
  12.  
  13.  
  14. #include < a_samp >
  15.  
  16. new Text: Textdraw1; // Definierung aller Textdraws
  17. new Text: Textdraw2; // Textdraw2
  18. new Text: Textdraw3; // Textdraw3
  19. new Text: Textdraw4; // Textdraw4
  20. new Text: Textdraw5; // Textdraw5
  21. new Text: Textdraw6; // Textdraw6
  22.  
  23. #define DIALOG_FCONF    2   //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
  24. #define DIALOG_FCONT    3   //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
  25. #define LEBENUPDATE     1000 //1000MS sind 1 Sekunde, kann variiert werden
  26. #define DIALOG:DEBUG    1   //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
  27. //new bool: fControl;
  28.  
  29. //Dieser Array beinhaltet alle Autos in 2 Cells/Buffer
  30. //Das fraß mir am meißten Zeit die Autos einzureihen, sonst gibt es zu viele überschpssige Zeilen
  31.  
  32. new Vehicles[][] ={
  33. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
  34. "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
  35. "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
  36. "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
  37. "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
  38. "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
  39. "PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
  40. "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina","Comet","BMX",
  41. "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
  42. "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa",
  43. "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
  44. "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
  45. "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  46. "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
  47. "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
  48. "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
  49. "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
  50. "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
  51. "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
  52. "Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
  53. "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  54. "Stair Trailer","Boxville","Farm Plow","Utility Trailer" };
  55.  
  56. public OnFilterScriptInit ( )
  57. {
  58.     // Erstellung aller Textdraws
  59.     Textdraw1 = TextDrawCreate(155.000000, 354.000000, "Fahrzeug");
  60.     TextDrawBackgroundColor(Textdraw1, 255);
  61.     TextDrawFont(Textdraw1, 1);
  62.     TextDrawLetterSize(Textdraw1, 0.300000, 1.000000);
  63.     TextDrawColor(Textdraw1, -1778384696);
  64.     TextDrawSetOutline(Textdraw1, 1);
  65.     TextDrawSetProportional(Textdraw1, 1);
  66.  
  67.     Textdraw2 = TextDrawCreate(140.000000, 384.000000, "_");
  68.     TextDrawBackgroundColor(Textdraw2, 255);
  69.     TextDrawFont(Textdraw2, 1);
  70.     TextDrawLetterSize(Textdraw2, 0.300000, -3.599999);
  71.     TextDrawColor(Textdraw2, -1);
  72.     TextDrawSetOutline(Textdraw2, 1);
  73.     TextDrawSetProportional(Textdraw2, 1);
  74.     TextDrawUseBox(Textdraw2, 1);
  75.     TextDrawBoxColor(Textdraw2, 155);
  76.     TextDrawTextSize(Textdraw2, 221.000000, 1.000000);
  77.  
  78.     Textdraw3 = TextDrawCreate(158.000000, 382.000000, "Zustand");
  79.     TextDrawBackgroundColor(Textdraw3, 255);
  80.     TextDrawFont(Textdraw3, 1);
  81.     TextDrawLetterSize(Textdraw3, 0.300000, 1.000000);
  82.     TextDrawColor(Textdraw3, -1778384696);
  83.     TextDrawSetOutline(Textdraw3, 1);
  84.     TextDrawSetProportional(Textdraw3, 1);
  85.  
  86.     Textdraw4 = TextDrawCreate(140.000000, 412.000000, "_");
  87.     TextDrawBackgroundColor(Textdraw4, 255);
  88.     TextDrawFont(Textdraw4, 1);
  89.     TextDrawLetterSize(Textdraw4, 0.300000, -3.599999);
  90.     TextDrawColor(Textdraw4, -1);
  91.     TextDrawSetOutline(Textdraw4, 1);
  92.     TextDrawSetProportional(Textdraw4, 1);
  93.     TextDrawUseBox(Textdraw4, 1);
  94.     TextDrawBoxColor(Textdraw4, 155);
  95.     TextDrawTextSize(Textdraw4, 221.000000, 1.000000);
  96.  
  97.     Textdraw5 = TextDrawCreate(164.000000, 367.000000, "Infernus");
  98.     TextDrawBackgroundColor(Textdraw5, 255);
  99.     TextDrawFont(Textdraw5, 1);
  100.     TextDrawLetterSize(Textdraw5, 0.190000, 1.000000);
  101.     TextDrawColor(Textdraw5, -1);
  102.     TextDrawSetOutline(Textdraw5, 1);
  103.     TextDrawSetProportional(Textdraw5, 1);
  104.  
  105.     Textdraw6 = TextDrawCreate(169.000000, 394.000000, "1000");
  106.     TextDrawBackgroundColor(Textdraw6, 255);
  107.     TextDrawFont(Textdraw6, 1);
  108.     TextDrawLetterSize(Textdraw6, 0.150000, 1.000000);
  109.     TextDrawColor(Textdraw6, -1);
  110.     TextDrawSetOutline(Textdraw6, 1);
  111.     TextDrawSetProportional(Textdraw6, 1);
  112.    
  113.     for ( new i = 0; i < MAX_PLAYERS; i++)
  114.     {
  115.         TextDrawShowForPlayer(i, Textdraw1);
  116.         TextDrawShowForPlayer(i, Textdraw2);
  117.         TextDrawShowForPlayer(i, Textdraw3);
  118.         TextDrawShowForPlayer(i, Textdraw4);
  119.         TextDrawShowForPlayer(i, Textdraw5);
  120.         TextDrawShowForPlayer(i, Textdraw6);
  121.     }
  122. }
  123.  
  124. public OnFilterScriptExit ( )
  125. {
  126.     //Zerstören der Textdraws
  127.     //Wobei es sinnlos ist, da sie sowieso zerstört werden
  128.     //Falls der Server ausgeht
  129.     TextDrawDestroy( Textdraw1 );
  130.     TextDrawDestroy( Textdraw2 );
  131.     TextDrawDestroy( Textdraw3 );
  132.     TextDrawDestroy( Textdraw4 );
  133.     TextDrawDestroy( Textdraw5 );
  134.     TextDrawDestroy( Textdraw6 );
  135.  
  136. }
  137.  
  138. public OnPlayerStateChange(playerid, newstate, oldstate)
  139. {
  140.     if ( (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) )
  141.     {
  142.         TextDrawShowForPlayer( playerid, Textdraw1 );//Alle Textdraws werden gezeigt, wenn der Spieler einsteigt, und automatisch zerstört beim aussteigen
  143.         TextDrawShowForPlayer( playerid, Textdraw2 );
  144.         TextDrawShowForPlayer( playerid, Textdraw3 );
  145.         TextDrawShowForPlayer( playerid, Textdraw4 );
  146.         TextDrawShowForPlayer( playerid, Textdraw5 );
  147.         TextDrawShowForPlayer( playerid, Textdraw6 );
  148.         SetTimer("HandleLeben", LEBENUPDATE, true); //hier wird die Definierung der einzelnen MS als Interval "umgewandelt" in dem Fall LEBENUPDATE = 1 Sekunde = 1000MS
  149.         HandleFahrzeug ( playerid );//Fahrzeug werden aufgeruft
  150.         HandleLeben    ( playerid );//Leben des Fahrzeug wird aufgerufen
  151.     }
  152.     return 1;
  153. }
  154. /*
  155. Warum?
  156. Es bewirkt folgendes:
  157. Falls eine Person das Fahrzeug während des Brennens verlässt
  158. Werden die Textdraws weggehen NICHT zerstört.
  159. Damit umgehen wir Fehler.
  160.  
  161. Da OnPlayerStateChange zusammen mit OnPlayerExitVehicle arbeitet, sehe ich mich noch gezwungen die Funktion einzubinden
  162. */
  163. public OnPlayerExitVehicle(playerid, vehicleid)
  164. {
  165.     TextDrawHide ( playerid );
  166.     return 1;
  167. }
  168. /*
  169. OnPlayerStateChange verlangt auch dass wenn ein Spieler sich außerhalb oder tot außerhalb des Fahrzeuges aufhälft, eine funktion zum abbrechen der Textdraws
  170. Da das quatsch ist, werden die Textdraws einfach nach der Callback OnPlayerDeath zerstört, was mehr Sinn macht.
  171. */
  172. public OnPlayerDeath(playerid, killerid, reason)
  173. {
  174.     TextDrawHide ( playerid );
  175.     return 1;
  176. }
  177.  
  178. stock HandleFahrzeug ( playerid )
  179. {
  180.     new str[50],
  181.         vid;
  182.  
  183.     vid = GetPlayerVehicleID(playerid);
  184.     format(str, sizeof(str), "%s", Vehicles[GetVehicleModel(vid)-400]);
  185.     TextDrawSetString(Textdraw5, str);
  186.  
  187. }
  188. forward HandleLeben ( playerid );
  189. public HandleLeben ( playerid )
  190. {
  191.     new
  192.         szStr[ 28 ],
  193.         Fahrzeug,
  194.         Float: Leben,
  195.         h;
  196.  
  197.  
  198.     Fahrzeug = GetPlayerVehicleID( playerid );
  199.     GetVehicleHealth( Fahrzeug, Leben );
  200.     h = floatround( Leben ) / 10;
  201.     format(szStr, sizeof( szStr ), "%d \%",  h);
  202.     TextDrawSetString(Textdraw6, szStr);
  203. }
  204.  
  205. public OnPlayerCommandText(playerid, cmdtext[])
  206. {
  207.     if(strcmp(cmdtext, "/infernus", true) == 0)
  208.     {
  209.         new Float: x,
  210.             Float: y,
  211.             Float: z;
  212.  
  213.         GetPlayerPos(playerid, x, y, z),
  214.         AddStaticVehicleEx(411, x + 3, y, z, 1, 0 ,0, 15);
  215.         return 1;
  216.     }
  217.  
  218.     if(strcmp(cmdtext, "/fcontrolaus", true) == 0)
  219.     {
  220.         TextDrawHide ( playerid );
  221.         ShowPlayerDialog(playerid, DIALOG_FCONF, DIALOG_STYLE_MSGBOX, "{FF8487}fControl", "{858487}fControl {FF0000}aktiviert", "Ok", "");
  222.         return 1;
  223.     }
  224.  
  225.     if(strcmp(cmdtext, "/debug", true) == 0)
  226.     {
  227.         new szStr[400]; //angepasst und passt
  228.         format(szStr, sizeof( szStr ), "{858487}Funtkion: LEBENUPDATE =         {90FF00}%d\n{858487}Funtkion: /infernus =           {90FF00}Erstellung eines Infernus\n{858487}Funtkion: TextDrawHide ( playerid ) =     {90FF00}Textdraw weg\n{858487}Funtkion: HandleFahrzeug ( playerid ) = {90FF00}FahrzeugLeben abrufen\n{858487}Funtkion: /fcontrolaus = {90FF00}Controlmodus aus", LEBENUPDATE);
  229.         ShowPlayerDialog(playerid, DIALOG:DEBUG, DIALOG_STYLE_MSGBOX, "{FF8487}Debuginfo", szStr, "Ok", "");
  230.         return 1;
  231.     }
  232.     return 0;
  233. }
  234. /*
  235. Warum wurden zu den Funktionen keine anderen Parameter miteinbezogen?
  236. Der Grund dafür ist, dass man nicht direckt ein Textdraw mit deren Len(s) benutzt.
  237. Man benutzt nur die Namen der Textdraws, wobei es quatsch wäre, auch die
  238. Parameter für die Namen zu machen, dazu würden auch errors kommen...
  239. */
  240.  
  241. stock TextDrawShow ( playerid )
  242. {
  243.     TextDrawShowForPlayer(playerid, Textdraw1);
  244.     TextDrawShowForPlayer(playerid, Textdraw2);
  245.     TextDrawShowForPlayer(playerid, Textdraw3);
  246.     TextDrawShowForPlayer(playerid, Textdraw4);
  247.     TextDrawShowForPlayer(playerid, Textdraw5);
  248.     TextDrawShowForPlayer(playerid, Textdraw6);
  249.     return 1;
  250. }
  251.  
  252. stock TextDrawHide ( playerid )
  253. {
  254.     TextDrawHideForPlayer(playerid, Textdraw1);
  255.     TextDrawHideForPlayer(playerid, Textdraw2);
  256.     TextDrawHideForPlayer(playerid, Textdraw3);
  257.     TextDrawHideForPlayer(playerid, Textdraw4);
  258.     TextDrawHideForPlayer(playerid, Textdraw5);
  259.     TextDrawHideForPlayer(playerid, Textdraw6);
  260.     return 1;
  261. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement