Pickup erscheint nicht (MySQL / XAMPP)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,
    also Ich habe mir Pickups erstellen lassen, die durch die Datenbank ausgelesen werden. Sprich wenn Ich ein Pickup in der Datenbank hinzufüge, soll es automatisch im Spiel erscheinen.
    Allerdings scheint das ganze verbuggt zu sein, denn der Pickup erscheint irgendwie nicht.
    Zunächst möchte Ich erwähnen, dass Ich XAMPP benutze und dort habe Ich auch Schwierigkeiten.
    Denn dort füge Ich die Koordinaten ein, jedoch wird die Koordinate aufgerundet/abgerundet:
    10.8203 -> 10.82
    Ich weiß nicht, was Ich falsch mache.
    Vielleicht liegt es ja am Script:



    LoadFraktions();


    //:: OnGameModeInit::
    //Fraktionsgebäude laden
    for(new i=1; i<sizeof(fInfo); i++)
    {
    //Enter Pickup & TextLabel
    CreatePickup(1318, 1, fInfo[i][Pickup_Enter_X], fInfo[i][Pickup_Enter_Y], fInfo[i][Pickup_Enter_Z]);
    Create3DTextLabel("Enter drücken", COLOR_RED, fInfo[i][Pickup_Enter_X], fInfo[i][Pickup_Enter_Y], fInfo[i][Pickup_Enter_Z], 10, 0, 1);
    CreatePickup(1318, 1, fInfo[i][Pickup_Exit_X], fInfo[i][Pickup_Exit_Y], fInfo[i][Pickup_Exit_Z]);
    Create3DTextLabel("Austreten: Enter drücken", COLOR_RED, fInfo[i][Pickup_Exit_X], fInfo[i][Pickup_Exit_Y], fInfo[i][Pickup_Exit_Z], 10, 0, 1);
    }


    public LoadFraktions()
    {
    new query[256];
    for(new idx=1; idx<sizeof(fInfo); idx++)
    {
    format(query, sizeof(query), "SELECT * FROM fraktions WHERE id='%i'", idx);
    mysql_function_query(dbhandle, query, true, "OnFraktionsLoad", "i", idx);
    }
    return 1;
    }


    public OnFraktionsLoad(idx)
    {
    new num_rows, num_fields, temp[256];
    cache_get_data(num_rows, num_fields, dbhandle);
    if(num_rows)
    {
    cache_get_field_content(0, "FraktionName", temp);
    format(fInfo[idx][Fraktion_Name], 25, temp);
    fInfo[idx][Fraktion_Spawn_X] = cache_get_field_content_float(0, "FraktionSpawnX", dbhandle);
    fInfo[idx][Fraktion_Spawn_Y] = cache_get_field_content_float(0, "FraktionSpawnY", dbhandle);
    fInfo[idx][Fraktion_Spawn_Z] = cache_get_field_content_float(0, "FraktionSpawnZ", dbhandle);
    fInfo[idx][Fraktion_Interior] = cache_get_field_content_int(0, "FraktionsInterior", dbhandle);
    fInfo[idx][Pickup_Enter_X] = cache_get_field_content_float(0, "FraktionPickupEnterX", dbhandle);
    fInfo[idx][Pickup_Enter_Y] = cache_get_field_content_float(0, "FraktionPickupEnterY", dbhandle);
    fInfo[idx][Pickup_Enter_Z] = cache_get_field_content_float(0, "FraktionPickupEnterZ", dbhandle);
    fInfo[idx][Enter_X] = cache_get_field_content_float(0, "FraktionEnterX", dbhandle);
    fInfo[idx][Enter_Y] = cache_get_field_content_float(0, "FraktionEnterY", dbhandle);
    fInfo[idx][Enter_Z] = cache_get_field_content_float(0, "FraktionEnterZ", dbhandle);
    fInfo[idx][Pickup_Exit_X] = cache_get_field_content_float(0, "FraktionPickupExitX", dbhandle);
    fInfo[idx][Pickup_Exit_Y] = cache_get_field_content_float(0, "FraktionPickupExitY", dbhandle);
    fInfo[idx][Pickup_Exit_Z] = cache_get_field_content_float(0, "FraktionPickupExitZ", dbhandle);
    fInfo[idx][Exit_X] = cache_get_field_content_float(0, "FraktionExitX", dbhandle);
    fInfo[idx][Exit_Y] = cache_get_field_content_float(0, "FraktionExitY", dbhandle);
    fInfo[idx][Exit_Z] = cache_get_field_content_float(0, "FraktionExitZ", dbhandle);
    cache_get_field_content(0, "FraktionColor", temp);
    format(fInfo[idx][Fraktion_Color], 25, temp);
    }
    return 1;
    }

  • Wann wird "LoadFraktions();" aufgerufen?


    Wenn es nach dem Pickup-Gedöns passiert, dann ist es klar. Setz es einfach mal davor.
    Wüsste ansonsten nicht weiter, vllt. mal debuggen, ist immer so mein Plan B wenn etwas nicht klappt.

  • Wann wird "LoadFraktions();" aufgerufen?


    Wenn es nach dem Pickup-Gedöns passiert, dann ist es klar. Setz es einfach mal davor.
    Wüsste ansonsten nicht weiter, vllt. mal debuggen, ist immer so mein Plan B wenn etwas nicht klappt.

    Es steht vor den Pickup-Gedöns :)
    Und was meinst du mit debuggen? Das habe Ich nicht so ganz verstanden

  • Du tastest dich mit zB "print("Debug #1"); print("Debug #2");" usw. an deinen Fehler ran, da wo es dann aufhört zu debuggen.
    Also machst du bspw. nach jeder Funktion ein Debug und schaust wo es aufhört, so findest du dann deine Fehler. :)

  • Du tastest dich mit zB "print("Debug #1"); print("Debug #2");" usw. an deinen Fehler ran, da wo es dann aufhört zu debuggen.
    Also machst du bspw. nach jeder Funktion ein Debug und schaust wo es aufhört, so findest du dann deine Fehler. :)

    Ich habe nochmal geguckt und es stimmt eigentlich alles.
    Das einzige Problem liegt bei phpmyadmin, denn wenn Ich die Koordinaten einfüge, dann werden sie auf-/abgerundet. Sprich aus 10.8027 wird 10.803, als Beispiel.
    Kennst du dich zufällig damit aus?