Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Dieses Filterscript wurde am 17.08.2012 19:12 erstellt.
- * Eigentlich geht es an D.Fence, doch wenn ich ein Filerscript
- * mache, dann auch für das gesamte Forum.
- *
- * Es ist ziemlich "basisch" angelegt, generell arbeite ich
- * nicht auf diesem Neavau, doch es ging
- * hier nur darum, um D.Fence eine kleine Hilfe zu gewähren.
- * Forbidden (c) 2012/13
- */
- #include < a_samp >
- new Text: Textdraw1; // Definierung aller Textdraws
- new Text: Textdraw2; // Textdraw2
- new Text: Textdraw3; // Textdraw3
- new Text: Textdraw4; // Textdraw4
- new Text: Textdraw5; // Textdraw5
- new Text: Textdraw6; // Textdraw6
- #define DIALOG_FCONF 2 //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
- #define DIALOG_FCONT 3 //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
- #define LEBENUPDATE 1000 //1000MS sind 1 Sekunde, kann variiert werden
- #define DIALOG:DEBUG 1 //ACHTUNG falls dieser Wert an einem anderen Dialog gegeben ist ÄNDERN!!!
- //new bool: fControl;
- //Dieser Array beinhaltet alle Autos in 2 Cells/Buffer
- //Das fraß mir am meißten Zeit die Autos einzureihen, sonst gibt es zu viele überschpssige Zeilen
- new Vehicles[][] ={
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
- "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
- "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
- "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
- "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
- "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
- "PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
- "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina","Comet","BMX",
- "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
- "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa",
- "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
- "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
- "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
- "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
- "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
- "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
- "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
- "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
- "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
- "Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
- "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
- "Stair Trailer","Boxville","Farm Plow","Utility Trailer" };
- public OnFilterScriptInit ( )
- {
- // Erstellung aller Textdraws
- Textdraw1 = TextDrawCreate(155.000000, 354.000000, "Fahrzeug");
- TextDrawBackgroundColor(Textdraw1, 255);
- TextDrawFont(Textdraw1, 1);
- TextDrawLetterSize(Textdraw1, 0.300000, 1.000000);
- TextDrawColor(Textdraw1, -1778384696);
- TextDrawSetOutline(Textdraw1, 1);
- TextDrawSetProportional(Textdraw1, 1);
- Textdraw2 = TextDrawCreate(140.000000, 384.000000, "_");
- TextDrawBackgroundColor(Textdraw2, 255);
- TextDrawFont(Textdraw2, 1);
- TextDrawLetterSize(Textdraw2, 0.300000, -3.599999);
- TextDrawColor(Textdraw2, -1);
- TextDrawSetOutline(Textdraw2, 1);
- TextDrawSetProportional(Textdraw2, 1);
- TextDrawUseBox(Textdraw2, 1);
- TextDrawBoxColor(Textdraw2, 155);
- TextDrawTextSize(Textdraw2, 221.000000, 1.000000);
- Textdraw3 = TextDrawCreate(158.000000, 382.000000, "Zustand");
- TextDrawBackgroundColor(Textdraw3, 255);
- TextDrawFont(Textdraw3, 1);
- TextDrawLetterSize(Textdraw3, 0.300000, 1.000000);
- TextDrawColor(Textdraw3, -1778384696);
- TextDrawSetOutline(Textdraw3, 1);
- TextDrawSetProportional(Textdraw3, 1);
- Textdraw4 = TextDrawCreate(140.000000, 412.000000, "_");
- TextDrawBackgroundColor(Textdraw4, 255);
- TextDrawFont(Textdraw4, 1);
- TextDrawLetterSize(Textdraw4, 0.300000, -3.599999);
- TextDrawColor(Textdraw4, -1);
- TextDrawSetOutline(Textdraw4, 1);
- TextDrawSetProportional(Textdraw4, 1);
- TextDrawUseBox(Textdraw4, 1);
- TextDrawBoxColor(Textdraw4, 155);
- TextDrawTextSize(Textdraw4, 221.000000, 1.000000);
- Textdraw5 = TextDrawCreate(164.000000, 367.000000, "Infernus");
- TextDrawBackgroundColor(Textdraw5, 255);
- TextDrawFont(Textdraw5, 1);
- TextDrawLetterSize(Textdraw5, 0.190000, 1.000000);
- TextDrawColor(Textdraw5, -1);
- TextDrawSetOutline(Textdraw5, 1);
- TextDrawSetProportional(Textdraw5, 1);
- Textdraw6 = TextDrawCreate(169.000000, 394.000000, "1000");
- TextDrawBackgroundColor(Textdraw6, 255);
- TextDrawFont(Textdraw6, 1);
- TextDrawLetterSize(Textdraw6, 0.150000, 1.000000);
- TextDrawColor(Textdraw6, -1);
- TextDrawSetOutline(Textdraw6, 1);
- TextDrawSetProportional(Textdraw6, 1);
- for ( new i = 0; i < MAX_PLAYERS; i++)
- {
- TextDrawShowForPlayer(i, Textdraw1);
- TextDrawShowForPlayer(i, Textdraw2);
- TextDrawShowForPlayer(i, Textdraw3);
- TextDrawShowForPlayer(i, Textdraw4);
- TextDrawShowForPlayer(i, Textdraw5);
- TextDrawShowForPlayer(i, Textdraw6);
- }
- }
- public OnFilterScriptExit ( )
- {
- //Zerstören der Textdraws
- //Wobei es sinnlos ist, da sie sowieso zerstört werden
- //Falls der Server ausgeht
- TextDrawDestroy( Textdraw1 );
- TextDrawDestroy( Textdraw2 );
- TextDrawDestroy( Textdraw3 );
- TextDrawDestroy( Textdraw4 );
- TextDrawDestroy( Textdraw5 );
- TextDrawDestroy( Textdraw6 );
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if ( (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) )
- {
- TextDrawShowForPlayer( playerid, Textdraw1 );//Alle Textdraws werden gezeigt, wenn der Spieler einsteigt, und automatisch zerstört beim aussteigen
- TextDrawShowForPlayer( playerid, Textdraw2 );
- TextDrawShowForPlayer( playerid, Textdraw3 );
- TextDrawShowForPlayer( playerid, Textdraw4 );
- TextDrawShowForPlayer( playerid, Textdraw5 );
- TextDrawShowForPlayer( playerid, Textdraw6 );
- SetTimer("HandleLeben", LEBENUPDATE, true); //hier wird die Definierung der einzelnen MS als Interval "umgewandelt" in dem Fall LEBENUPDATE = 1 Sekunde = 1000MS
- HandleFahrzeug ( playerid );//Fahrzeug werden aufgeruft
- HandleLeben ( playerid );//Leben des Fahrzeug wird aufgerufen
- }
- return 1;
- }
- /*
- Warum?
- Es bewirkt folgendes:
- Falls eine Person das Fahrzeug während des Brennens verlässt
- Werden die Textdraws weggehen NICHT zerstört.
- Damit umgehen wir Fehler.
- Da OnPlayerStateChange zusammen mit OnPlayerExitVehicle arbeitet, sehe ich mich noch gezwungen die Funktion einzubinden
- */
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- TextDrawHide ( playerid );
- return 1;
- }
- /*
- OnPlayerStateChange verlangt auch dass wenn ein Spieler sich außerhalb oder tot außerhalb des Fahrzeuges aufhälft, eine funktion zum abbrechen der Textdraws
- Da das quatsch ist, werden die Textdraws einfach nach der Callback OnPlayerDeath zerstört, was mehr Sinn macht.
- */
- public OnPlayerDeath(playerid, killerid, reason)
- {
- TextDrawHide ( playerid );
- return 1;
- }
- stock HandleFahrzeug ( playerid )
- {
- new str[50],
- vid;
- vid = GetPlayerVehicleID(playerid);
- format(str, sizeof(str), "%s", Vehicles[GetVehicleModel(vid)-400]);
- TextDrawSetString(Textdraw5, str);
- }
- forward HandleLeben ( playerid );
- public HandleLeben ( playerid )
- {
- new
- szStr[ 28 ],
- Fahrzeug,
- Float: Leben,
- h;
- Fahrzeug = GetPlayerVehicleID( playerid );
- GetVehicleHealth( Fahrzeug, Leben );
- h = floatround( Leben ) / 10;
- format(szStr, sizeof( szStr ), "%d \%", h);
- TextDrawSetString(Textdraw6, szStr);
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/infernus", true) == 0)
- {
- new Float: x,
- Float: y,
- Float: z;
- GetPlayerPos(playerid, x, y, z),
- AddStaticVehicleEx(411, x + 3, y, z, 1, 0 ,0, 15);
- return 1;
- }
- if(strcmp(cmdtext, "/fcontrolaus", true) == 0)
- {
- TextDrawHide ( playerid );
- ShowPlayerDialog(playerid, DIALOG_FCONF, DIALOG_STYLE_MSGBOX, "{FF8487}fControl", "{858487}fControl {FF0000}aktiviert", "Ok", "");
- return 1;
- }
- if(strcmp(cmdtext, "/debug", true) == 0)
- {
- new szStr[400]; //angepasst und passt
- 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);
- ShowPlayerDialog(playerid, DIALOG:DEBUG, DIALOG_STYLE_MSGBOX, "{FF8487}Debuginfo", szStr, "Ok", "");
- return 1;
- }
- return 0;
- }
- /*
- Warum wurden zu den Funktionen keine anderen Parameter miteinbezogen?
- Der Grund dafür ist, dass man nicht direckt ein Textdraw mit deren Len(s) benutzt.
- Man benutzt nur die Namen der Textdraws, wobei es quatsch wäre, auch die
- Parameter für die Namen zu machen, dazu würden auch errors kommen...
- */
- stock TextDrawShow ( playerid )
- {
- TextDrawShowForPlayer(playerid, Textdraw1);
- TextDrawShowForPlayer(playerid, Textdraw2);
- TextDrawShowForPlayer(playerid, Textdraw3);
- TextDrawShowForPlayer(playerid, Textdraw4);
- TextDrawShowForPlayer(playerid, Textdraw5);
- TextDrawShowForPlayer(playerid, Textdraw6);
- return 1;
- }
- stock TextDrawHide ( playerid )
- {
- TextDrawHideForPlayer(playerid, Textdraw1);
- TextDrawHideForPlayer(playerid, Textdraw2);
- TextDrawHideForPlayer(playerid, Textdraw3);
- TextDrawHideForPlayer(playerid, Textdraw4);
- TextDrawHideForPlayer(playerid, Textdraw5);
- TextDrawHideForPlayer(playerid, Textdraw6);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement