Beiträge von Firerfan

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

    new bool:HPCheckpoint[MAX_PLAYERS];


    HPCheckPoint[playerid] = true; //Beim setzen des Checkpoints


    //OnPlayerEnterCheckpoint...
    if(HPCheckPoint[playerid] == true)
    { /* Betritt den HP-Checkpoint*/ }
    else{...}



    Nur nicht vergessen beim Entfernen des Checkpoints auch den bool wieder auf false zu setzen ;)

    Es geht hier ja nicht darum, einen Timer mit einem bestimmten Interval komplett zu ersetzen.
    Es geht darum, die SA-MP Sync (OnPlayerUpdate) für bestimmte systeme zu nutzen, die möglichst mit der Synchronisation des Clienten arbeiten müssen.


    Atrox hat ein AntiCheat als beispiel genannt.
    Ich möchte hier ein weiteres Beispiel nennen, und zwar eine Geschwindigkeits-Abfrage.


    Wenn ein Timer die Geschwindigkeit nur jede Sekunde Checkt, haben die Spieler immernoch eine Sekunde, in der sie keinen festen Wert über ihre Geschwindkeit erhalten.
    Bei Blitzer-Systemen, wo man möglichst genau arbeiten sollte, ist dies wichtig.



    Die Frage ist, ob es bei richtiger verwendung (Anticheats, Antidesktop, etc.) immernoch resourcen-fressender ist als ein Timer, der dann ja leider erst etwas später "Arbeiten" würde.



    //EDIT: Danke Snail, solche Antworten suche ich.
    Also wäre OnPlayerUpdate bei Anticheats, etc. vertretbar oder immernoch zu Resourcenfressend?
    Das ist der Punkt, den ich klarstellen möchte.

    Hallo ihr lieben,
    Ich glaube es steht eine Frage im Raum, zu der es verschiedene Meinungen gibt:


    Ist OnPlayerUpdate wirklich so ein extremer Resourcenkiller?
    Ich persönlich kann mir nicht vorstellen, dass es schlimmer ist als 1-2 Timer die mit ner Schleife extra alle Spieler durchgehen (z.B. für Anticheat, Speedo, etc.)


    Deshalb frage ich euch jetzt:
    Ist OnPlayerUpdate wirklich unheimlich resourcenfressend oder nicht?
    Bitte eure Antwort begründen, etvtl. mit Beispiel/Beweis/WhatEver...





    MfG Firer

    Ich verstehe deine Frage nicht.
    Was meinst du mit Model-ID's speichern?


    Warum sollten sie überhaupt gespeichert werden?
    Du benötigst sie doch nur kurz um zu returnen, wieviel Benzin jeweilige Fahrzeug Maximal hat.


    Beispiel:
    stock MaxTank(vehicleid)
    {
    //Code von oben
    }


    new tank = MaxTank(vehicleid)



    Alternativ kannst du auch die Model-ID verwenden.
    Wie man dass dann umschreibt solltest du wissen.

    Apache ist der Webserver...
    Skype belegt übrigens gelegentlich den MySQL Port.


    MySQL muss aktiv sein -> Im XAMPP-Control Pannel gucken.
    Wenn dir das nicht hilft gib mit mal irgendwelche TS Daten und dann regeln wir das ;)

    omg heul net rum ich bin 23 und habe seit 4 jahren kein Perso ;)
    Es gibt keine Pflicht das man den dabeihaben muss ! Nur eine allgemeine Ausweispflicht ;)



    scheiß auf die BRD GmbH

    Hmm.. Er hat doch ne Begründung geschrieben.
    Er ist 17 und möchte Alkohol kaufen.
    Du solltest wissen, das man eigentlich immer nach einem Ausweis gefragt wird, wenn man nicht aussieht wie 21...

    Das passiert wenn man den Thread nur überfliegt^^
    Brauchst nen CMD und musst dann mit SetVehicleParams(Ex) das Auto dementsprechend auf/ab schließen.
    Das heißt du kannst meinen Code so verwenden und brauchst nur dem CMD zum Auf/Abschließen des Fahrzeuges.


    Wenn ich heute abend zuhause bin schreib ich dich mal an.
    Bin gerade auf der Arbeit und da habe ich weder wirklich die Zeit, noch die Möglichkeit dir irgendwie zu helfen ;)

    Dieser Code alleine wird ihm nicht viel weiter helfen.
    Ich habe das ganze damals ziemlich simpel gelöst:


    Da es in meinem Car-System sowieso Variablen für Motor, Licht, Benzinzstand, etc. gab und ich diese als Array angelegt hatte, habe ich dort einfach die Fraktion speichern lassen.
    Somit konnte ich direkt beim einsteigen abfragen.


    Da wir hier aber bei Scriptwünsche sind:

    new fraktion[MAX_CARS];
    new veh = AddStaticVehicle(..);
    fraktion[veh] = fraktionsid;


    //OnPlayerStateChange
    if(fraktion[GetPlayerCarID(playerid] != 0 && fraktion[GetPlayerCarID] != SpielerInfo[playerid][fraktion])
    {RemovePlayerFromVehicle(playerid); SendClientMessage(..);}


    Musst du halt noch etwas zurechtschneiden, sollte aber funktionieren ;)