Beiträge von d0ma

    Dies muss irgendwo abgespeichert werden für den user:
    new PremiumBis[playerid] = gettime() + (60*60*24*tage); // Rechne x tage zu gettime() hinzu


    und so kann es dann überprüft werden ob ein spieler Premium besitzt:
    if(PremiumBis[playerid] > gettime())
    {
    ...
    }



    Erklärung: gettime() liefert die Anzahl an vergangenen Sekunden seit dem 1.Januar 1970 zurück

    das hier:
    return CallLocalFunction("H_OnDialogResponse","dddds",playerid, dialogid, response, listitem, inputtext);


    durch:
    if(!inputtext[0])return CallLocalFunction("H_OnDialogResponse","dddds",playerid, dialogid, response, listitem, " ");
    return CallLocalFunction("H_OnDialogResponse","dddds",playerid, dialogid, response, listitem, inputtext);
    ersetzen


    Erklärung: CallLocalFunction bringt den Server zum Absturz wenn ein leerer string übergeben wird, deswegen die Abfrage und das " ".

    UPDATE kannst du mit string funktionen zusammen setzen.


    EDIT: Man sollte vll auch nur das wieder abspeichern was sich verändert hat und nicht alle 154 Variablen

    Bedeutend müsste ich also als Beispiel diesen Code hier:




    Umschreiben, da dort noch alte Variablen genutzt werden.


    11 x mysql_Set... = 11 Anfragen an den MySQL Server. Das ganze ginge auch mit einer einzigen Abfrage.(Google: "mysql UPDATE")
    Wenn man mit mysql nur mit der Nutzung von mysql_get... bzw mysql_set... zurecht kommt, dann ist es nicht ratsam MySQL zu nutzen

    Nochmal:


    || und && ist nicht das selbe


    Edit: hast du jetzt dein && mit || editiert ? wenn ja dann stimmt es jetzt, wenn nicht hab ich mich versehen


    merkst du eigendlich was du da für ein Müll erzählst?
    Ich nutz das täglich und es geht sogar


    Ist Zeit GRÖßER als 19 und KLEINER als 6
    In den Zeitraum fürt er es aus!


    8o
    Hier ein Beispiel für dich:

    public OnGameModeInit()
    {
    testForYou(0);
    testForYou(2);
    testForYou(4);
    testForYou(10);
    testForYou(20);
    }


    testForYou(ZAHL)
    {
    if(ZAHL >= 19 && ZAHL <= 6)print("Stimmt");
    else print("Stimmt nicht");
    }

    also müsste der code laut dir folgendes ausgeben ?

    Stimmt
    Stimmt
    Stimmt
    Stimmt nicht
    Stimmt

    in wirklichkeit wird er aber nur 5x"Stimmt nicht" ausgeben

    machs mal so:
    if(hour > 19 && hour < 6)


    und wie soll das gehen?


    Pille hat schon ein so gutes beispiel gegeben, das eigentlich jeder draufkommen sollte mit ein paar Überlegungen :whistling:


    "Wenn *hour* größer 19 UND kleiner 6 ist"
    unmöglich das eine Zahl zur gleichen Zeit größer wie 19 ist und auch noch kleiner wie 6 ist
    = die if Abfrage ist nie wahr


    Das ganze muss so aussehen (laut ersten Post): Mit ||(oder)
    if(Zeit[0] >= 19 || Zeit[0] <= 6)