Beiträge von Firerfan

    Soweit ich weis sind die Informationen darunter nicht schlimm.
    Aber was ist bitte an Englisch so schwer?


    Code
    warning 204: symbol is assigned a value that is never used: "schluesselID"


    Auf Deutsch: Der Variable wurde ein Wert zugewiesen, sie wird aber nie genutzt: "schluesselID"



    MfG Firer

    Ich wurde damals auf die TimeStamp-Funktion verwiesen.
    Damit habe ichs auch geschafft, ein funktionierendes AntiCheat zu basteln.


    Falls du nicht weist, was TimeStamp ist:
    Die Funktion returnt die Sekunden seid dem 01.01.1970.
    Somit kannst du wunderbar Zeiten als Integer abfragen.


    Gehen wir davon aus, vor 5 Minuten würde TimeStamp 2500 returnen.
    Jetzt rechnest du einfach die Zeit in Sekunden dazu (5 Minuten = 5*60 = 300 | 2500+300 = 2800)
    Nun kannst du wunderbar abfragen, ob der Ban schon ausgelaufen ist ;)



    stock mktime(hour,minute,second,day,month,year)
    {
    new timestamp2;
    timestamp2 = second + (minute * 60) + (hour * 3600);
    new days_of_month[12];
    if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) {
    days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
    } else {
    days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
    }
    new days_this_year = 0;
    days_this_year = day;
    if(month > 1) { // No January Calculation, because its always the 0 past months
    for(new i=0; i<month-1;i++) {
    days_this_year += days_of_month[i];
    }
    }
    timestamp2 += days_this_year * 86400;
    for(new j=1970;j<year;j++) {
    timestamp2 += 31536000;
    if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp2 += 86400; // Schaltjahr + 1 Tag
    }
    return timestamp2;
    }
    stock Now()
    {
    new hour,minute,second,year,month,day;
    gettime(hour, minute, second);
    getdate(year, month, day);
    return mktime(hour,minute,second,day,month,year);
    }
    Auslesen einfach mit "Now();"
    Hoffe das hilft dir, hatte da auch lange mit zu kämpfen.



    MfG Firer

    Welches System zum speichern nutzt du?
    Ist mit DINI am leichtesten:


    Datei Auswählen und Beschreiben.
    Dann einfach dafür sorgen, dass sich die Ingame-ID's nicht verändern.
    Sonst gibts da ID-Verschiebungen, die du nur mit ner "DB-VehicleID" lösen könntest.
    Dafür würde sich aber MySQL besser eignen.



    MfG Firer

    Schau dir im Wiki mal die Funktion
    "AddStaticVehicleEx"..
    Ausserdem werden die Cars, die direkt beim Serverstart da sollen unter "OnGameModeInit()" reingetan.


    OnVehicleSpawn wird aufgerufen, wenn ein Car spawned.
    Wenn du keine Cars hast, wirds logischerweise nicht aufgerufen ;)
    Wenn es aufgerufen wird, spawnen deine Cars dann öfters.

    Glaube ist mit "switch" und case nicht machbar da du dort nur so abfragen kannst:
    switch(variable)
    case 1:{...}
    case 2,3{..}
    }


    Bitte verbessert mich falls ich falsch liege.
    Wenn das funktioniert ist es auch für mich von nutzen!


    //EDIT:
    Frage falsch verstanden.
    Versuchs so:

    switch(GetPlayerCameraMode(playerid))
    case 1:{...}
    case 2,3{..}
    }

    Wenn das jetzt eine Diskussion sein soll, wer der beste Scripter ist, habt ihr beide sowieso verkackt.


    @Jamal:
    Das glaubt dir hier keiner.
    Aus dem einfachen Grund, dass Scriptanfänger zwar vielleicht viele Zeilen schaffe, aber mit wenig funktionen.
    Ich wette, ich haue in 1000 Zeilen dass, wofür du ~2000 brauchst und das meins nachher besser und resourcenschonender läuft.
    Das tut aber nichts zur sache.


    Wenn du Anfänger bist, solltest du aber trozdem ein Filterscript erstellen können.
    Das ist so ziemlich das erste was man lernt.



    MfG Firer

    Verknüpf ne Variable mit nem Enum.
    Dort speicherst du die SpielerID und die Objekt-ID vom erstellten Objekt.
    Dannach ists doch einfach nurnoch abfragen, aufstellen & löschen.
    Nur viel Code, aber eigentlich gaaaaanz einfach.



    MfG Firer