Beiträge von TutNichts

    Aloha,
    wollt' gerade mal mein Script, welches ich bislang nur lokal getestet habe, auf einen "Publicserver" laden von samp4you, habe alles berücksichtigt (eigtl.), er stellt eine Verbindung zur DB her, alles prima, doch wenn ich dann bei dem Passwort-Eingabedialog bestätige, stürzt der Server ab - OBWOHL: er mich noch aus der Datenbank lädt bzw. das Passwort abfragt (laut Debug.txt, MySQL-Log).


    Nutze das Ding von G-Stylezzz und starten tut er ja auch ... nur eben stürzt er beim einloggen ab. :-/


    #e: CrashDetection meldet:


    Geht also hier um's laden der Fraktionen.
    Laut Andi von samp4you => liegt's an "case sensitive" - wüsste aber nicht wo der Fehler ist, da wirklich alles exakt gleich ist.


    Hab mir das mal ausgeben lassen, wenn ich das direkt per mysql_fetch_field_row() löse, gibt er inGame sowie in der Konsole nichts aus.


    Ich denke eher das ist ein Problem mit der Array Ansteurung, so sieht das jedenfalls aus.


    Was meinst'n du bitte? :-/


    #e:
    Ok, habe jetzt ein wenig mehr debugged und bin einfach nur "fassungslos" bzw. "ahnungslos" oder einfach nur verwirrt.
    Ich habe mir nun mal:
    printf("%s", mysql_fetch_field_row(data[3], "carKennzeichen"));
    ausgeben lassen, warum auch immer.


    Dann kommt aber eigenartiger Weise aus einer ganz anderen Funktion Text in die Konsole, schaut dann wie folgt aus:
    [21:07:27]
    [21:07:27] 1|1|SF-FS-01|480|1|-2065.74|-91.1539|34.9337|251.079
    [21:07:27] r 00min 03sec
    [21:07:27] 2|1|SF-FS-02|560|2|-2060.25|-95.3942|34.8735|193.263
    [21:07:27] r 00min 03sec
    [21:07:27] 3|1|SF-FS-03|451|3|-2064.24|-84.1127|34.8687|180.108
    [21:07:27] r 00min 03sec


    Er gibt mir was aus der Funktion aus:
    stock getFormatedTime(minutes, secondsVariiertToMinutes) {
    new returnVal[20];
    format(returnVal, 20, "vor %02dmin %02dsec", minutes, secondsVariiertToMinutes);
    return returnVal;
    }
    Die ich aber, wie man auch weiter oben sieht, gar nicht irgendwie in der Funktion verwende.


    Denke mal, dass das daher kommt, weiß aber nicht, wie es dazu kommt. :-/

    printf:
    [12:11:38] 1|1|SF-FS-01|480|1|-2068.57|-84.1964|34.937|180.423
    [12:11:38] SF-FS-01
    [12:11:38] 2|1|SF-FS-02|560|2|-2064.24|-84.1127|34.8687|180.108
    [12:11:38] SF-FS-02
    Einmal eben die DB-Zeile und dann lass ich mir immer das Kennzeichen nochmal ausgeben, da macht er's ja, wie man sieht, richtig.


    stock loadFactionsCars(factionID) {
    new Getted[200],
    query[300];
    for(new x; x <= countFactionCars(factionID); x++) {
    new thisCar,
    data[8][30];
    format(query, 300, "SELECT * FROM `factioncars` WHERE `factionID` = %d AND `carSlotID` = %d", factionID, x);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Getted);
    printf("%s", Getted);
    if(mysql_num_rows() > 0) {
    mysql_fetch_field_row(data[0], "id");
    mysql_fetch_field_row(data[1], "carModelID");
    mysql_fetch_field_row(data[2], "carSlotID");
    mysql_fetch_field_row(data[3], "carKennzeichen");
    printf("%s", data[3]);
    mysql_fetch_field_row(data[4], "carX");
    mysql_fetch_field_row(data[5], "carY");
    mysql_fetch_field_row(data[6], "carZ");
    mysql_fetch_field_row(data[7], "carAngle");
    thisCar = CreateVehicle(strval(data[1]), floatstr(data[4]), floatstr(data[5]), floatstr(data[6]), floatstr(data[7]), Fraktion[factionID][fCar1], Fraktion[factionID][fCar2], -1);
    SetVehicleNumberPlate(thisCar, data[3]);
    Auto[thisCar][cFaction] = factionID;
    Auto[thisCar][cFactionSlot] = strval(data[2]);
    Auto[thisCar][cID] = strval(data[0]);
    format(Auto[thisCar][cKennzeichen], 50, "%s", data[3]);
    }
    mysql_free_result();
    }
    return 1;
    }
    Die Funktion sollt' ich mal überarbeiten, seh' ich gerade, geht ja gar nicht. :D


    #e: funktion eben umgeschrieben.
    #e: funktion updated.

    Da-dong, natürlich, nicht dran gedacht ...
    ocmd:listfactioncars(playerid, params[]) {
    new factionID;
    if(Spieler[playerid][sLogged] == 0)
    return SendClientMessage(playerid, COLOR_RED, " [Fehler] Du bist nicht eingeloggt!");
    if(Spieler[playerid][sAdmin] < 5)
    return SendClientMessage(playerid, COLOR_RED, " [Fehler] Du bist kein Admin!");
    if(sscanf(params, "d", factionID))
    return SendClientMessage(playerid, COLOR_RED, " [Fehler] /listfactioncars [fraktionsID]");
    new strDialog[400],
    strDialogTeil[100];
    for(new c; c < MAX_VEHICLES; c++) {
    if(Auto[code=c][cFaction] == factionID) {
    format(strDialogTeil, 100, "Fahrzeugtyp: %s | Kennzeichen: %s | CarID: %d\n", VehicleNames[(GetVehicleModel(c) - 400)], Auto[code=c][cKennzeichen], c);
    strcat(strDialog, strDialogTeil);
    }
    }
    if(strlen(strDialog) == 0) {
    format(strDialog, 400, "Es sind keine Fraktionsfahrzeuge vorhanden.\nRespawnen Sie die Fahrzeuge ggf.!");
    }
    ShowPlayerDialog(playerid, Dialog_ListFactionCars, DIALOG_STYLE_LIST, Fraktion[factionID][fName], strDialog, "Ok", "");
    return 1;
    }
    Das ist der Befehl zum auflisten, relativ unsauber, aber ich hab da auch 1000x dran rumgeschraubt... ^^
    eigtl. MUSS da der Fehler drin sein, denn die Funktion (loadFactionCars) gibt mir auch in der Konsole alle richtig aus...

    Aloha,
    hab mich heute Nacht nach'm Auftrag mal wieder auf Pawn eingelassen ... ja, das mit mir und ihm is' 'ne langjährige Affäre. :D


    So, nu' hab ich mir gedacht, dann ich mein Script mal schön ressourcendschonend umgestalte, da mir die Funktionen von Maddin (umgeschrieben) einfach zu viele Querys, vorallem bei Schleifen o.ä., durchhauen.


    Klappt auch alles soweit, wirklich toll, a-a-aber:
    Ich lade mir Fraktionsfahrzeuge aus'er Datenbank und wenn ich nu' das Kennzeichen an den Fahrzeugen platzieren will, macht er, im groben, auch vieles richtig, a-a-aber, bei einem Fahrzeug kommt (siehe Dialog):


    Das komische aber: Der Comet hat auf dem Kennzeichen zu stehen: "SF-FS-01" und der Sultan eben "SF-FS-02" - ganz richtig also - nur versteh' ich nicht recht, warum er das im Dialog nicht macht. :-/

    Manches ist sinnlos - soetwas empfinde ich aber für sinnvoll.

    Donator ist aber definitiv eine bessere Investition als Zigaretten. ;)


    Ich würde mir einfach die gesundheitlichen Folgen bewusst machen, Lungenkrebs ist davon nur der Gipfel.

    Das Problem ist denke ich, dass die Jugend, damit ich inbegriffen (:D) sich das einfach nicht vorstellen kann. Ich denke mir: "Ach, sowas passiert mir schon nicht" - ich selbst rauche zwar nicht, ganz nach dem Motto: "Was ich nicht weiß, macht mich nicht heiß", und ich weiß eben nicht wie ein Zigarettenzug "schmeckt", denke das ist einigen (auch mir) einfach nicht bewusst.


    Ich rauche nicht und habe auch noch nie gezogen, obwohl das fast jeder aus meiner Klasse macht oder gemacht hat. Ich brauch das nicht, mir stört es aber auch nicht, wenn jemand neben mir raucht.