Häuserpickups werden nicht erstellt

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
  • Hi,
    meine Häuser-Pickups werden nicht erstellt, die Labels auch nicht.
    Aber ich kann an den richtigen Positionen rein.


    public LoadHouses()
    {
    new rows, fields, count;
    cache_get_data(rows, fields);
    for(new i=0;i<rows;i++)
    {
    new houseID = cache_get_field_content_int(i, "id");
    if(houseID < MAX_HOUSES)
    {
    DestroyPickup(Haus[houseID][hPickup]);
    Delete3DTextLabel(Haus[houseID][hText]);
    Haus[houseID][hCreated] = 1;
    Haus[houseID][hdbID] = cache_get_field_content_int(i, "id");
    Haus[houseID][EnterX] = cache_get_field_content_float(i, "EnterX");
    Haus[houseID][EnterY] = cache_get_field_content_float(i, "EnterY");
    Haus[houseID][EnterZ] = cache_get_field_content_float(i, "EnterZ");
    Haus[houseID][ExitX] = cache_get_field_content_float(i, "ExitX");
    Haus[houseID][ExitY] = cache_get_field_content_float(i, "ExitY");
    Haus[houseID][ExitZ] = cache_get_field_content_float(i, "ExitZ");
    Haus[houseID][hInterior] = cache_get_field_content_int(i, "Interior");
    cache_get_field_content(i, "Besitzer", Haus[houseID][hBesitzer], myCon, 32);
    cache_get_field_content(i, "Name", Haus[houseID][hName], myCon, 32);
    Haus[houseID][hPreis] = cache_get_field_content_int(i, "Preis");
    Haus[houseID][hMieten] = cache_get_field_content_int(i, "Mieten");
    Haus[houseID][hLock] = cache_get_field_content_int(i, "Lock");
    Haus[houseID][hMietPreis] = cache_get_field_content_int(i, "MietPreis");
    Haus[houseID][hKasse] = cache_get_field_content_int(i, "Kasse");
    Haus[houseID][hOwned] = cache_get_field_content_int(i, "Owned");
    Haus[houseID][hHealthUpgrade] = cache_get_field_content_int(i, "HealthUpgrade");
    Haus[houseID][hArmorUpgrade] = cache_get_field_content_int(i, "ArmorUpgrade");
    Haus[houseID][hText] = Create3DTextLabel("Laedt ...", COLOR_ALPHA_WHITE, Haus[houseID][EnterX], Haus[houseID][EnterY], Haus[houseID][EnterZ], 20.0, 0);
    if(Haus[houseID][hOwned] == 1)
    {
    Haus[houseID][hPickup] = CreatePickup(OWNER_PICKUP, 1, Haus[houseID][EnterX], Haus[houseID][EnterY], Haus[houseID][EnterZ], 0);
    }
    else if(Haus[houseID][hOwned] == 0)
    {
    Haus[houseID][hPickup] = CreatePickup(NO_OWNER_PICKUP, 1, Haus[houseID][EnterX], Haus[houseID][EnterY], Haus[houseID][EnterZ], 0);
    }
    UpdateHouseLabel(houseID, Haus[houseID][hOwned]); // 0 = Ohne Besitzer, 1 = Besitzer
    count++;
    }
    }
    printf("[LOAD] Häuser geladen: %d/%d", count, MAX_HOUSES);
    return 1;
    }


    enum e_Haus
    {
    hCreated,
    Float:EnterX,
    Float:EnterY,
    Float:EnterZ,
    Float:ExitX,
    Float:ExitY,
    Float:ExitZ,
    hBesitzer[MAX_PLAYER_NAME],
    hOwned,
    hName[32],
    hPreis,
    hMieten,
    Text3D:hText,
    hPickup,
    hLock,
    hMietPreis,
    hInterior,
    hKasse,
    hdbID,
    hHealthUpgrade,
    hArmorUpgrade
    }
    new Haus[MAX_HOUSES][e_Haus];
    Außerdem werden mein Stadthallen-Pickups und Labels auch nicht erstellt, obwohl der Code richtig ist :?:
    Jeffry:

    Mit freundlichen Grüßen
    Exqool

    2 Mal editiert, zuletzt von Exqoolz ()

  • Wie sieht das Query aus, mit dem du LoadHouses aufrufst?
    Was sagt dieser Print?
    printf("[LOAD] Häuser geladen: %d/%d", count, MAX_HOUSES);


    mysql_function_query(myCon, "SELECT * FROM `script_houses`", true, "LoadHouses", "");

    Code
    [19:28:46] [LOAD] Häuser geladen: 2/130

    Mit freundlichen Grüßen
    Exqool

  • Dann liegt es daran, dass du immer wieder das Label 0 löschst.


    Füge vor:
    mysql_function_query(myCon, "SELECT * FROM `script_houses`", true, "LoadHouses", "");
    das ein:
    for(new i=0; i<sizeof(Haus); i++)
    {
    Haus[i][hPickup] = -1;
    Haus[i][hText] = Text3D:-1;
    }


    Und ändere:
    DestroyPickup(Haus[houseID][hPickup]);
    Delete3DTextLabel(Haus[houseID][hText]);
    zu:
    if(Haus[houseID][hPickup] != -1) DestroyPickup(Haus[houseID][hPickup]);
    if(Haus[houseID][hText] != Text3D:-1) Delete3DTextLabel(Haus[houseID][hText]);

  • if(Haus[houseID][hPickup] != -1) DestroyPickup(Haus[houseID][hPickup]);
    if(Haus[houseID][hText] != Text3D:-1) Delete3DTextLabel(Haus[houseID][hText]);


    Ok, das geht. Danke :D
    Aber noch ein Problem:
    stock LoadPickups()
    {
    CreatePickup(1318, 1, 1480.9752,-1771.3914,18.7958, 0); // SH AUSSEN


    CreatePickup(1318, 1, 1310.1958,-1368.6116,13.5515, 0); // Deagle Aussen
    CreatePickup(1318, 1, 2169.4863,1618.6375,999.9766, 0); // Deagle Innen


    stock Load3DTexts()
    {
    Create3DTextLabel("[ Stadthalle ]\nDrücke "COLOR_HEX_BLUE"Enter "COLOR_HEX_WHITE"zum Betreten", COLOR_WHITE, 1480.9752,-1771.3914,18.7958, 10.0, 0);


    Ongamemodeinit:
    LoadPickups();
    Load3DTexts();
    Die Pickups und Labels für Stadthalle werden nicht geladen ?(

    Mit freundlichen Grüßen
    Exqool

  • Setze mal einen print in die beiden stocks rein, wird der dann aufgerufen?


    Die ganzen anderen Pickups werden ja erstellt.

    Code
    [20:00:00] Loadpickups
    [20:00:00] [LOAD] Dynamische Pickups wurden geladen (0/50)
    [20:00:00] Load3dtexts,

    Mit freundlichen Grüßen
    Exqool

  • Setze es mal ganz unten, als letztes, bei OnGameModeInit hin. Sind sie dann da?


    LoadPickups();
    Load3DTexts();
    return 1;
    }
    Nope.
    # nur das 3DLabel
    Bzw. habe diese Pickup und Label-Zeilen mal ins Gamemodeinit gesetzt, dann gings.
    Aber wieso? :?:

    Mit freundlichen Grüßen
    Exqool

  • Hast du eine mehrzeilige Meldung mit vielen Zahlen im Compiler?


    Nope, keine jeglichen Errors/Warnings :D

    Code
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    Header size:          13716 bytes
    Code size:          1071892 bytes
    Data size:          6175564 bytes
    Stack/heap size:      16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 7277556 bytes

    Mit freundlichen Grüßen
    Exqool