Wiedermal Hallöle Leute ^^,
Vorwort:
Wiedermal stelle ich euch ein neues Include vor, diesmal aber nicht irgendein Kinderkram-Include. Sondern das Tolle
SpeedoBombInclude by Templer
(for Samp 0.3 or higher)
vor, welches eine deartig tolle Funktion darbietet, wie Ihr es noch nie gesehen habt. Enstanden ist das Include mit dem Namen speedoBomb, weil die Fahrzeugbomben einen Geschwindigkeitsmesser intigriert haben. Dieser Messer Aktiviert die Bombe, wenn der Fahrer die angegebene Geschwindigkeit vom Bombenleger überschritten hat (sagen wir 60 km/h) und der Messer danach überprüft ob der Fahrer langsamer, als was angegeben wurden ist, fährt. Sollte der Spieler unter diese Marke kommen, tickt die Bombe schneller und verursacht (Standartmäßig nach 5 Sekunden) eine Explosion die in einem gewissen Radius alles in Grund und Boden verwüst (Mein Lieblingsteil :P). Natürlich finden manche Leute es toll, wie dann welche Tot mit dem Fahrzeug in die Luft fliegen und beim sterben sehen, wie das Fahrzeug auf den Boden prallt, jedoch ungünstig für eine höhere Person auf einem Reallife Server der zufällig Präsident ist und dann merkt, dass diese Fahrzeugbombe in seinem Fahrzeug ist ^^. Natürlich gibt es eine Möglichkeit die Bombe zu entschärfen, jedoch passiert dies derzeit bei dieser Version automatisch, da mir nichts besseres eingefallen ist und sagen wir aus Gründen von Drähten, aus dem Jahre Schnee, die Bombe Standartmäßig sich nach 15 Minuten selbst entschärft. Vorschläge zum verbessertem Entschärfen sind gebeten ^^.
Screenshots:
speedoBomb Screenshot´s-KLICK MICH :P
(Vergrößert, damit auch die Leute kapieren das dies ein Link zu einer direkten zip-Datei ist wo die Screenshots liegen ^^)
ServerBefehle:
- /sbhelp ... Zeigt alle Befehle von diesem Include an
- /sbstatus ... Zeigt wieviele Bomben ein Spieler besitzt
- /sbkaufen ... Kauft Bomben an Bombenplätze (Selbst definierbar oben im Script)
- /sblegen ... Legt die Bombe unter/in das Auto (Möglich von Innen und Außen)
Funktionen:
- Tolles BombTick-System zur Überprüfung der Geschwindigkeit
- Ressourcendschonend trotz 500ms Timer (Wegen niedriger Auslastung der foreach Schleifen)
- RAM-Speicher freundlich wegen Nutzung der Samp PVar´s
- Definitionen ermöglichen einfaches verändern der Preise, Bombenplätze, Zeiten und vieles mehr...
- Großartiger Spaßfaktor durch kontrollierte Explosionen
- Eigene Error-Compiler Meldungen um Scriptfehler zu vermeiden (Bei den Präprozessoren)
- Speicherung Anzahl der Bomben von jedem Spieler in einer *.ini Datei
- Unterstützung derzeit nur für das GameMode
- Plug & Play Bereitschaft, ohne jegliche Änderungen am eigenen GameMode
- Bestmögliche Positionsberechnungen von Spieler und Fahrzeug
- Dynamisch sich erstellende Textdraws (= Nur bei Notwendigkeit wird ein Textdraw erstellt und zerstört)
- Nutzung von nur einem Timer mit Ressourcenschonendem Inhalt sowie von OnPlayerUpdate
- Eigene Zugrifssberechtigung erstelltbar für Befehle
- Schöner Textdraw-Farbverlauf um dem Spieler die Gefahr zu zeigen
Warum ich OnPlayerUpdate für SpielerSchleifen Nütze (Zitat vom letzten Include Post):
ZitatDa manche denken "Oh mein Gott er nützt OnPlayerUpdate" will ich für andere kurz Erläutern warum ich diese Variante ausgesucht habe. OnPlayerUpdate wird ja stehts ausgeführt, wenn ein Spieler InGame ist. (und nicht am Desktop oder GTA Menu) Aufgerufen wird OnPlayerUpdate in 0,5 Sekunden-Takt (wenn nicht kürzer). Anstatt das ich die Timerfunktion SetTimer oder SetTimerEx mit einer for Schleife, die alle Spieler durchgeht,verwende, nütze ich gleich OnPlayerUpdate mit einer Variable die überprüft ob so und soviele Sekunden vergangen sind und erst dann die Abfrage für diesen Spieler startet. Somit erspart man sich an Leistung und keine Geschwindigskeitsverluste wegen der mageren Abfrage. Da ich leider schwer zeigen kann wieviel Leistung dieses Script vom Server verbraucht, weil ich nicht weiß wie die Leistung von so etwas abgemessen wird, müsst ihr es leider selber austesten, wenn es unbedingt notwendig ist. Verbrauchen tut es trotz OnPlayerUpdate wenig an Auslastung, was ich vom Wissen her weiß.
Vorraussetzungen für dieses Plugin:
Für diese Include benötigst du folgende Sachen damit dieses Include so Ressourcenschonend wie möglich bleibt (Alle in Zip Datei vorhanden)...
- [REL] sscanf Plugin by Y_Less (pawno/include/sscanf2.inc) & (plugins/sscanf.dll|sscanf.so)
- [INCLUDE] foreach by Y_Less (pawno/include/foreach.inc)
- [INCLUDE] SII by Slick (pawno/include/SII.inc)
Installation:
- Öffne dein GameMode mit PWNo
- Füge oben im Script unter #include <a_samp> folgendes dazu: #include <speedoBomb>
- Kompiliere dein GameMode PWNo
- Starte deinen Testserver
Verwendung von eigenen Zugriffsberechtigung:
Füge in dein GM folgendes ein:
forward SB_AllowedPlayer(playerid);
public SB_AllowedPlayer(playerid)
{
if(PlayerInfo[playerid][pTeam] == 5) return 1;
else return 0;
}
Wie du sehen kannst ist dieser Code in dem Fall für das GF, der es den Fraktionen die alle in Team 5 sind erlaubt, Bomben zu benützen...
Credits:
/* SpeedBombv1 Include by Templer
(for SAMP 0.3 / or higher)
Dieses Script darf von jedermann verändert und benutzt werden!
Mir ist es sogar egal, wenn Ihr was von hier für euren Vorteil rauskopiert!
Credits:
-Y_Less : Für sein foreach, sscanf und IsToPoint!
-Darkrealm : Für sein GetClosestVehicle und GetDistanceToVehicle!
-Double-O-Seven : Für das Zeigen wie Include und GM am besten kommunizieren!
-Samp-Team : Die es überhaupt ermöglicht haben sowas Programmierbar für GTA zu machen!*/
Download:
speedoBomb Include (inkl. SII, foreach und sscanf)
speedoBomb Pastebin-Link
Für weitere Fragen oder Anregungen könnt Ihr natürlich unten posten und vielleicht auch einen Wunsch zum Entschärfen der Bombe
Mfg Templer
Edit: Support only for GameModes....
Edit2: Rechtschreibfehler und Grammatikfehler behoben...