Beiträge von Kaliber

    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:

    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:


    Naja, ganz einfach so:


    //ganz oben in dein Script
    new timer_var, mins, timer;


    //Dann irgendwo wo das rennen starten soll
    timer = SetTimer("Timer_Start", 1000, 1);


    //Hier dann der timer
    forward Timer_Start();
    public Timer_Start()
    {
    timer_var++;
    if(timer_var == 60) mins++,timer_var = 0;
    if(mins >= 10) KillTimer(timer),mins = 0,timer_var = 0;
    new string[128];
    format(string, sizeof string,"%02d:%02d",mins,timer_var);
    SendClientMessageToAll(-1,string);
    return 1;
    }


    Nicht getestet, sollte aber gehen :)


    mfg. :thumbup:


    Zähl mal die "i" s in der Eingabe und Vergleiche sie mit der ausgabe.
    Da fehlen "ein paar" stimmts? xD


    Schreib den Befehl mal bitte so:


    COMMAND:o(playerid,params[])
    {
    new text[128], string[256];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,FARBE_ROT,"Tippe: /o [nachricht]");
    format(string,sizeof(string),"(( %s %s : %s ))",Admintextname2(playerid),Spielername(playerid),text);
    SendClientMessageToAll(FARBE_WEISS,string);
    new sum = strlen(Admintextname2(playerid))+strlen(Spielername(playerid))+strlen(text)+2;
    format(string, sizeof string,"Text Länge: %d",sum);
    SendClientMessageToAll(FARBE_WEISS,string);
    return 1;
    }


    und zeig jetzt mal, vielleicht geht es jetzt ja... :rolleyes: