Beiträge von legend


    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext)) // Wenn das eingegebene Passwort mehr als ein Zeichen hat, wenn das Passwort länger als X-Zeichen sein soll, dann ändere diese Zeile einfach in: if(!(strlen(inputtext) > X))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER: Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    else // Wenn der Benutzer die Registrierung abgebrochen hat
    {
    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;
    }
    return 1;
    }


    Wie schauts so aus?
    // Nicht getestet..

    Vielen Dank! :)


    //EDIT:
    //Häuser des Empfängers aus der Datenbank auslesen, die einen Briefkasten haben.
    format(queryGetHouseEmpf, sizeof(queryGetHouseEmpf), "SELECT h.* FROM house h, player p WHERE p.playerName = '%s' AND h.playerRef = p.playerRef AND h.briefkasten = 1", inputtext);
    mysql_query(queryGetHouseEmpf);
    mysql_store_result();


    numRowsGetHouse = mysql_num_rows();

    //Wenn mindestens ein Haus mit einem Briefkasten gefunden wurde
    if (numRowsGetHouse > 0)
    {
    new i = 1;
    while(mysql_fetch_row(queryGetHouseEmpf,"connection"))
    {
    sscanf(queryGetHouseEmpf,"p<|>sd",strHouseStadt[i],houseRef[i]);
    SendClientMessage(playerid, ROT, strHouseStadt[i]);
    i++;
    }
    mysql_free_result();
    strcat(strAusgabeHaus, strHouseStadt[1]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[2]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[3]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[4]);
    strcat(strAusgabeHaus, "\n");

    ShowPlayerDialog(playerid, dialogPaketAufgebenS3, DIALOG_STYLE_LIST, "Spand - Paketlieferservice 3/4", strAusgabeHaus, "Weiter", "Abbrechen");

    } else SendClientMessage(playerid, ROT, "Dieser Spieler hat kein Haus und/oder keinen Briefkasten.");


    Wenn ich meinen SELECT einzeln ausführen lasse in der Console, dann liefert er mir zwei Zeilen zurück.
    Jedoch habe ich bei obigem Code immer noch ein leeres Resultat.


    Wie kann ich das nun beheben?



    //EDIT: Thema hat sich erledigt, danke für die Mühe!

    Normalerweise müsste dem Plugin dass du hinzugefügt hast eine Datei namens "LIBMYSQL.dll" beigelegt sein.
    Diese musst du in das Hauptverzeichnis deines Servers legen.

    Moin moin,


    ich hätte da ne kleine Frage.
    Ich möchte gerne mittels SELECT einen Datensatz aus der Datenbank selektieren (Mehrere Reihen).
    Jetzt möchte ich jedes einzelne Feld jeder Zeile in ein Array speichern.


    Mein Code sieht bisher so aus:

    new i = 1;
    while(i <= numRowsGetHouse)
    {
    mysql_fetch_row();
    mysql_fetch_field("stadt", strHouseStadt[i]);
    mysql_fetch_field("houseRef", houseRef[i]);
    i++;
    }



    Danach möchte ich für einen ListenDialog eine String-Variable(255) mit allen Elementen aus strHouseStadt befüllen lassen mit abschließendem \n.
    Bisher sieht dies folgendermaßen aus (Ist aber eigentlich quatsch :D):


    strcat(strAusgabeHaus, strHouseStadt[1]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[2]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[3]);
    strcat(strAusgabeHaus, "\n");
    strcat(strAusgabeHaus, strHouseStadt[4]);
    strcat(strAusgabeHaus, "\n");


    ShowPlayerDialog(playerid, dialogPaketAufgebenS3, DIALOG_STYLE_LIST, "Spand - Paketlieferservice 3/4", strAusgabeHaus, "Weiter", "Abbrechen");
    In meinem Dialog habe ich jedoch nur eine Zeile danach und dort ist auch kein Text zu sehen.


    Kann ich dies mit in der Schleife tun, oder benötige ich nach dem mysql_free_result eine neue Schleife?
    Besser gesagt, stimmen meine Zuweisungen überhaupt; läuft er so alle Zeilen meines Ergebnisses durch?


    Viele Grüße


    Zusatzinfo: Ich benutze das MySQL-Plugin von StrickenKid in der Version 2.1.1

    Hast du eine Spielerdatei, wo die Waffen drinnenstehen, oder möchtest du sie einfach so vergeben?


    Du machst bei OnPlayerDeath folgendes:

    new weapons[13][2];


    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]); //Hiermit befüllst du ein Array mit der Waffen-ID und der dazugehörigen Munition
    GivePlayerWeapon(playerid, weapons[i][0], weapons[i][1]); //So vergibst du die Waffen wieder an den Spieler.
    }








    Ein einfaches Beispiel:


    new a = 5;
    new b = 1;


    if (a == 5 && b == 1)
    ->Hier müssen BEIDE Bedingungen wahr/true sein, damit der If-Zweig ausgeführt wird.


    if(a == 5 || b == 1)
    -> Es würde reichen, wenn a den Wert 5 hat ODER wenn b den Wert 1 hat.


    Verstanden?