Beiträge von Kaliber

    jetzt kommen warnings/errors


    Also, zunächst mal, solltest du alles richtig mit "TAB" einrücken, dann verschwinden schonmal die Warings ^^


    Dann Zeig mal bitte wie du "sPasswort" deklariert hast und du hast eine Klammer vergessen, deshalb muss das so aussehen:


    if(User::load(playerid,sPasswort[playerid],"ddddd",SpielerInfo[playerid][Level],SpielerInfo[playerid][Geld],SpielerInfo[playerid][Wanted],SpielerInfo[playerid][Skin],SpielerInfo[playerid][Admin]))


    mfg. :thumbup:

    Soweit ich weiß bewirkt ein return something; in einer Schleife dasselbe wie continue; Probiers mal so:


    Nein tut es nicht :D


    Die Funktion ist richtig ;)


    Aber wahrscheinlich sind die Werte falsch, printe es dir doch einfach aus ^^


    So:


    stock GetCarpriceIndex(model)
    {
    for(new i; i < sizeof(CarBuy); i++)
    {
    printf("%d = %d",CarBuy[i][vModel],model);
    if(CarBuy[i][vModel] == model) return i;
    }
    return -1;
    }


    und mach dir selbst ein Bild davon, wieso das nicht klappt ;)


    mfg. :thumbup:

    Und wie soll ich es beim Register machen? da kann das passwort ja nicht falsch sein.. es muss ja auch abgefragt werden, ob der account überhaupt existiert oder??


    Ob der Account existiert, fragst du durch die Standard Funktion fexist ab, funktioniert genauso wie dini_Exist (Die Funktion von dini greift nämlich auf die Standardfunktion zurück...)
    Ja, beim Register nutzt du ja auch nicht Load, sondern Save, du gibst ihm ja erstmal Sachen, du kannst ja nix laden, er hat ja noch nix :D

    Und wo wird das passwort abgefragt ob es richtig ist?


    In der Funktion selbst, habe es doch erklärt in der if-Abfrage ^^


    ich möchte das Passwort auch in eine Variable hängen.. wie mach ich das? momentan kleinen hänger...
    new sPasswort[playerid][]; ?? es soll halt als string gespeichert werden.


    Das machst du so:


    new sPasswort[MAX_PLAYERS][64]; //Oben im Script



    //Unter OnDialogResponse...
    format(sPasswort[playerid],64,inputtext);


    mfg. :thumbup:

    Dan muss ich den Spieler schon Laden, bevor er eingeloggt ist..


    Nein...nicht unbedingt, schau mal, das war so geplant:


    //Machst einen Login-Dialog
    public OnPlayerConnect(playerid) //Zum Beispiel..
    {
    ShowPlayerDialog(playerid,1,1,"Einloggen","Bitte gib hier dein PW ein:","Bestätigen","");
    }


    //Unter OnDialogResponse
    if(dialogid == 1) {
    if(User::load(playerid,inputtext,"dd",PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pScore])) //Hier halt alle Variablen rein...
    {
    //Hier stimmt das Passwort und die Daten wurden erfolgreich geladen
    }
    else
    {
    //Hier wäre das Passwort falsch :)
    }
    }


    mfg. :thumbup:

    aber wo wird der ganze spaß dan abgespeichert?? man muss ja nirgens den pfad eingeben..


    Ja, das speichert sich in den scriptfiles...direkt, wenn du den Pfad ändern willst, geh einfach in die Include und pass den an ^^


    "DasPwDesUsers?? wie soll ich da das Passwort herbekommen?"


    Nun ganz einfach...wenn er sich registriert, gibt er doch sein Passwort ein -> da hast du es :rolleyes:

    Lade mal das aktuellste Streamer Plugin herrunter


    Dein Ernst? 8|


    In einer Include, vor streamer.inc wurde falsch gehookt :D


    und das gibt dir die ersten 2 Warnings ;)


    Die anderen Warnings entstehen dadurch, dass mehrere Variablen den selben Namen haben ;)


    mfg. :thumbup:

    Musst das ja auch so schreiben:


    format(bstr,sizeof(bstr),"Du wurdest gebannt!\nGrund: %s\nDatum: %s\nUhrzeit: %s\nGebannt von: %s",banvar[0][playerid],banvar[1][playerid],banvar[2][playerid],banvar[3][playerid]);
    ShowPlayerDialog(playerid,BanTrue,DIALOG_STYLE_MSGBOX,"{00FF00}[Ausschluss]",bstr,"OK", "");


    mfg. :thumbup:

    Du meinst ich Soll Grund, Uhrzeit, Datum etc. in einer Variable speichern?


    Ja...zum beispiel, einfach so:


    new tmp_var[4][MAX_PLAYERS][64]; //Ich hoffe MAX_PLAYERS ist nur so auf 100 definiert...


    //PS: du musst nicht die Variable str benutzen, kannst auch direkt unsere Variable werden^^
    db_get_field_assoc(Result,"Grund",str,sizeof(str));
    tmp_var[0][playerid]=str;
    db_get_field_assoc(Result,"Datum",str,sizeof(str));
    tmp_var[1][playerid]=str;
    db_get_field_assoc(Result,"Uhrzeit",str,sizeof(str));
    tmp_var[2][playerid]=str;
    db_get_field_assoc(Result,"Gebanntvon",str,sizeof(str));
    tmp_var[3][playerid]=str;


    mfg. :thumbup:

    emand ne Idee, warum meine Stack/Heapsize auf über
    Stack/heap size: 16384 bytes; estimated max. usage=514467 cells (2057868 bytes)
    Total requirements: 300256 bytes
    geht?


    Ja, du erstellt da 4 Variablen mit jeweils einem 2 Demensionalen Array....
    Sprich die 1. Dimension bei dir Verbraucht (500*4=2000Bytes*4=) 8000Bytes und die 2. Dimension verbraucht nochmal 256*4*4 = 4096 ^^


    Erstelle nur 1ne Variable und nicht 4 und mach die doch etwas kleiner.... :pinch: