Simple Tacho

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Jaja ich bin es mal wieder,


    so kommen wir nun zu meinem nächsten Include, es ist durch die Idee von mehreren entstanden, die noch Probleme haben beim Tacho erstellen, also hier dafür einige Hiflsfunktionen:


    [tabmenu]


    [tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
    [subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
    GetVehicleSpeed(vehicleid)
    Als erstes diese Funktion, gibt die Geschwindigkeit der vehicleid wieder (als Integer) ;)


    GetVehicleName(vehicleid)
    Gibt den Fahrzeugnamen wieder (als String) ;)


    GetTank(vehicleid)
    Gibt den Tank von dem Vehicle an.


    Es wird automatisch der Tank erstellt für jedes Auto und er wird halt verbrannt, nach einem Restart haben halle Autos wieder 100% Tankfüllung ;)
    In meinem System, gibt es direkt schon den Befehl "/fill", wo man an einer Tankstelle tanken kann.
    Sobald dies geschieht wird folgender Callback aufgerufen:


    public OnPlayerTank(playerid, liter)
    Ich denke das versteht jeder, falls nicht hier ein Beispiel:


    public OnPlayerTank(playerid, liter)
    {
    new string[128];
    format(string, 128,"Du hast %d Liter getankt !",liter);
    SendClientMessage(playerid,-1,string);
    //PS: hier solltet ihr auch Geld abziehen, da er sonst kostenlos tanken kann
    //PS²: Der Tank wird nach diesem Callback erst aufgefüllt, sprich wenn ihr sowas macht:
    //if(GetPlayerMoney(playerid) < bla) return 0; //dann wird auch nicht getankt !
    return 1;
    }


    So und wenn in einem Auto der Tank plötzlich leer wird, wird folgender Callback aufgerufen (auch nur wenn ein Spieler in dem Auto sitzt):
    public OnVehicleEmpty(playerid)


    Die Autos verlieren solange der Motor an ist an Tank, egal ob jemand in dem Auto sitzt oder nicht, bei Tank = 0, dann geht der Motor aus und man kann halt nicht mehr fahren :rolleyes:
    [subtab='Special','http://www.rezepte-guru.de/template/images/icon_stern.gif']
    Es gibt noch eine Zusatz Möglichkeit, hierbei handelt es sich um die Tank "Verbrennung" von den Autos ;)
    Momentan werden alle 15 Sekunden 1% verbrannt.
    Das könnt ihr verändern und zwar so:
    #define VERBRENNEN 17 //jetzt würden alle 17 Sekunden 1% vom Tank verbrannt werden
    #include <s_tacho>
    [subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
    Pastebin: Pastebin (V.1)
    Download: Mediafire (V.1)
    [/tabmenu]


    Wichtig:
    Bitte forwarded die Callbacks oben nicht, ihr müsst nur public schreiben !


    Wenn ihr einen Befehl habt, der euren Motor startet, bitte schreibt da noch folgende Bedingung rein:
    if(!Tank_Check(GetPlayerVehicleID(playerid))) return 0;


    Würde mich über ein kleines Feedback freuen :)


    mfg. :thumbup:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • schaut nice aus würde es aber besser finden wenn man selber die tankstellen festlegen kann dynamisch oder so.
    Sonst kannst nice für Anfänger wunderbar 9/10

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • schaut nice aus würde es aber besser finden wenn man selber die tankstellen festlegen kann dynamisch oder so.


    Ehm...man kann doch die Tankstellen verändern :D
    Es ist ja nicht so, dass man die Include nicht öffnen könnte ^^
    Aber eigentlich sind das schon alle Tankstellen die es gibt, wenn man selbst welche gemappt hat, kann man die doch da eintragen, ganz easy ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Fände es besser, wenn der Tank je nach Bewegung des Fahrzeuges leer gehen würde.
    Und nicht je nach Zeit-Sekunden , finde ich bisschen schade.

  • Irgendwie unrealistisch.
    Wenn du dein Fahrzeug im garten den ganzen Tag laufen lässt geht der Tank auch runter.



    LG RFT


    Stimmt ja, aber nicht so schnell ..
    Kenne es von mehreren Servern, das es je KM , berechnet wird, deswegen fände ich es besser.

  • Stimmt ja, aber nicht so schnell ..
    Kenne es von mehreren Servern, das es je KM , berechnet wird, deswegen fände ich es besser.


    Aber evtl will nicht jeder so ein System haben, ich z.B. finde das nicht so gut, da der Tank z.B. bei einer Hydra im Gegensatz zu einem Faggio fast schon direkt auf 0 wäre :rolleyes:


    Aber, wenn Leute es anders besser finden, können sie ja mein Include noch umschreiben :rolleyes:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wenn du mit deinem Fahrzeug 100 /160 Fährst oder es an stellst und gar nicht Fährst wird der Sprit ja ganz anders Verbrannt.


    Naja ist auch Unwichtig ^^


    10/10 für die Arbeit.

  • Könntest du denn vielleicht ein Screenshot posten?


    Nein, das ist leider absolut unmöglich, ich schreibe die Systeme hier auf der Arbeit und da schreibe ich das alles aus dem Kopf und überprüfe es nur auf Logik fehler oder nicht, wenn mir keine auffallen funktioniert es zu 99.9% ;)
    Ich kann es hier nicht testen und folglich keine Screens machen, da ich hier auf der Arbeit bin und kein Gta hier habe :D


    PS: Zur Bewertung von dem System dient der Quellcode ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Die Bewertungen hier kann ich wiedereinmal absolut nicht nachvollziehen...
    Die Methode "GetVehicleSpeed" findet man 100% identisch in vielen anderen Beiträgen & Foren, noch dazu ist "IsPlayerAtTanke" auch nicht sonderlich schön gelöst. Ein Array wäre dafür viel geschickter, da einerseits die Methode selbst nicht so vollgestopft ist, und es noch dazu viel leichter fällt, neue Tankstellen zu adden (sei es über ein dynamisches System, oder einfach durch bloßes Einfügen der Zeile).
    Zusätzlich ist die Tatsache, dass man nur tanken kann, wenn das Auto über 50% Sprit hat, komplett sinnbefreit. Ich meine, in echt kann ich auch 0.1 Liter tanken, wenn ich Lust und Laune hab...
    Zuguterletzt ist zu sagen, dass das keine Include, sondern eher ein zusammengeschusteter Scriptschnipsel ohne nennenswerte Besonderheiten ist. Der Sprit kostet ja nichtmal was und es gibt auch keinerlei Anzeigen, die es für den Spieler ersichtlich machen, wieviel Sprit er denn noch in seinem Auto hat. Hierbei wäre ein von dir erstellter Textdraw vielleicht doch noch sehr wünschenswert gewesen.

  • Zuguterletzt ist zu sagen, dass das keine Include, sondern eher ein zusammengeschusteter Scriptschnipsel ohne nennenswerte Besonderheiten ist.


    Du weißt aber schon dass das kein Filterscript ist?


    Ich bin zwar mit dir einer Meinung, dass "IsPlayerAtTanke" falsch gelöst ist, schlimmer ist allerdings, dass er in einer Include einen Command erstellt hat.
    Das hat dort nichts zu suchen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Die Methode "GetVehicleSpeed" findet man 100% identisch in vielen anderen Beiträgen & Foren


    Dann such mal schön ;)


    Zusätzlich ist die Tatsache, dass man nur tanken kann, wenn das Auto über 50% Sprit hat, komplett sinnbefreit. Ich meine, in echt kann ich auch 0.1 Liter tanken, wenn ich Lust und Laune hab...


    Ehm...ahja


    Zuguterletzt ist zu sagen, dass das keine Include, sondern eher ein zusammengeschusteter Scriptschnipsel ohne nennenswerte Besonderheiten ist.


    Ehm...nicht wirklich ocmd hat gerade mal 40 Zeilen und da sagt keiner dass das ein Script Schnipsel ist, aber bei über 100 Zeilen ist es dann ein Script Schnipsel ahja :huh:


    Der Sprit kostet ja nichtmal was und es gibt auch keinerlei Anzeigen, die es für den Spieler ersichtlich machen, wieviel Sprit er denn noch in seinem Auto hat. Hierbei wäre ein von dir erstellter Textdraw vielleicht doch noch sehr wünschenswert gewesen.


    Dann hast du dir aber die Funktionen nicht durchgelesen mein lieber ;)
    Das ist alles vorhanden :rolleyes:


    Du weißt aber schon dass das kein Filterscript ist?


    Er hat Include geschrieben :P


    in einer Include einen Command erstellt hat.


    Musste sein, damit ich einen Callback erstellen kann ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dann such mal schön ;)


    24.01.2012 SA-MP.com:
    http://forum.sa-mp.com/showpost.php?p=1626554&postcount=3

    Nenn mal xPos in Q um...
    Dann haste das selbe.


    Zitat


    Ehm...nicht wirklich ocmd hat gerade mal 40 Zeilen und da sagt keiner
    dass das ein Script Schnipsel ist, aber bei über 100 Zeilen ist es dann
    ein Script Schnipsel ahja :huh:

    40 Zeilen voll durchdachtem Code, der die Handhabung der Cmds deutlicht vereinfacht.
    Deine über 100 Zeilen sind dagegen beiweitem nicht so hilfreich, wie ein solches System.

  • Deine über 100 Zeilen sind dagegen beiweitem nicht so hilfreich, wie ein solches System.


    das kannst du irgendwie mal so gar nicht vergleichen und mein Code ist sehr wohl durchdacht... :huh:


    Dann haste das selbe.


    Schon die Tatsache allein das ich etwas ändern muss wiederlegt deine 100%.
    Aber mal abgesehen davon ist das eine feste Formel wie man die Geschwindigkeit berechnet, nämlich Wurzel aus X*X + Y*Y + Z*Z das kann man schlecht irgendwie anders darstellen :rolleyes:


    und wenn du die Include so "schlecht" findest, keiner Zwingt dich sie zu benutzen und deine Kritik war eigentlich sinnlos, da ich jetzt nur weiß, dass ich mein IsPlayerAtTanke in ein Array schreiben soll, was aber auch irgendwie sinnlos ist, da es bereits alle Tankstellen sind und es ist genauso einfach da noch was hinzuzufügen wie bei einem Array (spart sogar Zeilen).


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen