Erneutes Problem beim Laden/Erstellen von Pickups und 3DTexten

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
  • Schönen Abend Community,


    ich habe mal wieder ein Problem beim Laden meiner Pickups/3DTexte. Könnt ihr mir helfen? Es wird alles in einem Enum gespeichert.
    Ich bekomme weder errors noch sonst was, aber die Pickups/3DTexte werden einfach nicht geladen.


    Code:

    //Ganz oben
    #define MAX_FLoads 28


    //Unter OnGameModeInit
    for(new i=0;i<MAX_FLoads;i++)
    {
    FrakLoad(i);
    }


    //stock
    stock FrakLoad(frakid)
    {
    FData[frakid][HPposx] = mysql_GetFloatB("fraktionsheal","hposx","fraktionsid",frakid);
    FData[frakid][HPposy] = mysql_GetFloatB("fraktionsheal","hposy","fraktionsid",frakid);
    FData[frakid][HPposz] = mysql_GetFloatB("fraktionsheal","hposz","fraktionsid",frakid);
    FData[frakid][ARposx] = mysql_GetFloatB("fraktionsheal","aposx","fraktionsid",frakid);
    FData[frakid][ARposy] = mysql_GetFloatB("fraktionsheal","aposy","fraktionsid",frakid);
    FData[frakid][ARposz] = mysql_GetFloatB("fraktionsheal","aposz","fraktionsid",frakid);
    FData[frakid][Dposx] = mysql_GetFloatB("fraktionsheal","dposx","fraktionsid",frakid);
    FData[frakid][Dposy] = mysql_GetFloatB("fraktionsheal","dposy","fraktionsid",frakid);
    FData[frakid][Dposz] = mysql_GetFloatB("fraktionsheal","dposz","fraktionsid",frakid);
    FDataLoad[frakid][HPickup] = CreatePickup(1240,1,FData[frakid][HPposx],FData[frakid][HPposy],FData[frakid][HPposz],-1);
    FDataLoad[frakid][APickup] = CreatePickup(1242,1,FData[frakid][ARposx],FData[frakid][ARposy],FData[frakid][ARposz],-1);
    FDataLoad[frakid][DPickup] = CreatePickup(1239,1,FData[frakid][Dposx],FData[frakid][Dposy],FData[frakid][Dposz],-1);
    FDataLoad[frakid][HText] = Create3DTextLabel("HealPoint \n Benutze /heal",Weiß,FData[frakid][HPposx],FData[frakid][HPposy],FData[frakid][HPposz],10,0,0);
    FDataLoad[frakid][AText] = Create3DTextLabel("ArmorPoint \n Benutze /armor",Weiß,FData[frakid][ARposx],FData[frakid][ARposy],FData[frakid][ARposz],10,0,0);
    FDataLoad[frakid][DText] = Create3DTextLabel("DutyPoint \n Benutze /duty",Weiß,FData[frakid][Dposx],FData[frakid][Dposy],FData[frakid][Dposz],10,0,0);
    return 1;
    }


    Ich überlege schon eine ganze weile und finde den Fehler nicht :(



    Gruß & Danke im Vorraus
    Darkii.[1337]

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • schonmal den SQL Query geprüft, ob es Fehler gibt oder was er als Resultat rausgibt? Ohne deine DB können wir nicht viel mit deinem Code anfangen ;)


    PS.:
    Guck doch mal, ob bei Koordinate 0,0,0 was ist (Bluebery Farm)


    Ja sie befinden sich alle an Position: 0 0 0


    weist du warum? in der Datenbank stehen koordinaten... also die richtigen koordinaten...

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Gib doch mal den SQL Query manuell in dein PMA (PHPMyAdmin) ein und guck, was das Ergebnis ist? Gibts 0 Resultate, stimmt dein Querystring nicht ;)

    Das verstehe ich jetzt nicht, wie du das meinst, dazu noch nutze ich NaviCat nicht PMA. Also ich habe die positionen mal als printf in der Console ausgegeben, und sie sind nicht 0 0 0.. sie stimmen mit der datenbank überein... das ist ja das, warum ich nicht weiter komme... :(

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Hier die print Zeile:


    printf("DEBUG: MySQL: %f ||||| FData[frakid][HPposx]: %f", mysql_GetFloatB("fraktionsheal","hposx","fraktionsid",frakid), FData[frakid][HPposx]);


    hier die Consolen Zeilen:
    Erst Fraktionsid 1 dann Fraktionsid 2: [Hier wird nur der wert "hposx" aus der datenbank ausgelesen und dann aus dem Enum HPposx]




    //edit: kleiner fehler so ists richtig

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Dumme Frage, aber werden alle 28 unterschiedliche Fraktionen unter 0,0,0 angezeigt oder nur wenige?


    Soll heissen; lass mal alle 28 Fraktionen per printf durchlaufen zur Kontrolle. Kann sein, daß in der DB keine 28 drin sind und er nur z.B. 20 setzt und die restlichen 8 auf 0,0,0 macht... ich hoffe du verstehst was ich meine. Einen Fehler kann ich in deinem Code nämlich nicht sehen, sorry.

  • Also in der Datenbank geht es bis 3 (halt 3 testfraktionen erstellt) aber ich wollte schonmal vorraus ein wenig mehr einstellen..


    hier wenn er alle 28 gurchgeht:



    erst frakid 0
    dann 1
    dann 2 usw...

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Also gibt es nur die ID's 1 und 2. 0 und 3 bis 27 gibt es gar nicht ;). Guck bei dir iG mal bei den beiden Koordinaten, ob Symbole und Text dort sind. Falls ja, war das gesamte Thema hier überflüssig xD


    Ja aber da liegt doch das Problem :)... Er erstellt ja auch die Pickups von ID 1 und 2 nicht. das ist ja das, was mich sehr wundert.

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Auf ein neues ^^:


    Dann lass dir mal den kompletten printf Satz anzeigen, nicht nur FData[frakid][HPposx], sondern auch FData[frakid][HPposy] und FData[frakid][HPposz].
    Am besten du baust eine Abfrage vor den Pickups ein, ob die Werte (FData[frakid][HPposx] usw.) 0.00 sind oder nicht. Falls 0.00, dann continue, ansonsten Code ausführen (Pickups und 3D Text setzen).

  • Auf ein neues ^^:


    Dann lass dir mal den kompletten printf Satz anzeigen, nicht nur FData[frakid][HPposx], sondern auch FData[frakid][HPposy] und FData[frakid][HPposz].
    Am besten du baust eine Abfrage vor den Pickups ein, ob die Werte (FData[frakid][HPposx] usw.) 0.00 sind oder nicht. Falls 0.00, dann continue, ansonsten Code ausführen (Pickups und 3D Text setzen).


    Hier, ich habe alles einmal geloggt, und die Koordinaten von allen ausgeben lassen:

    Code
    Heal Pickup: ID: 1 | HPposx: -1600.310058 | HPposy: 673.547973 | HPposz: -1600.310058
    Armor Pickup: ID: 1 | ARposx: -1598.520019 | ARposy: 673.344970 | ARposz: -1598.520019
    Duty Pickup: ID: 1 | Dposx: 0.000000 | Dposy: 0.000000 | Dposz: -1596.619995
    Heal Pickup: ID: 2 | HPposx: -1334.939941 | HPposy: 495.709014 | HPposz: -1334.939941
    Armor Pickup: ID: 2 | ARposx: -1342.979980 | ARposy: 500.394989 | ARposz: -1342.979980
    Duty Pickup: ID: 2 | Dposx: -1346.819946 | Dposy: 500.402008 | Dposz: -1346.819946
    Heal Pickup: ID: 3 | HPposx: 0.000000 | HPposy: 0.000000 | HPposz: 0.000000
    Armor Pickup: ID: 3 | ARposx: 0.000000 | ARposy: 0.000000 | ARposz: 0.000000
    Duty Pickup: ID: 3 | Dposx: 0.000000 | Dposy: 0.000000 | Dposz: 0.000000


    Also einmal vom Heal, Armor und Duty Pickup. (Heal Pickup=HPpos Koordinaten, Armor Pickup=ARpos Koordinaten, Duty Pickup=Dpos Koordinaten)
    Dafor die jeweilige ID
    Es wundert mich irgendwie... warum geht es nicht ?(

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~


  • Hier, ich habe alles einmal geloggt, und die Koordinaten von allen ausgeben lassen:

    Code
    Heal Pickup: ID: 1 | HPposx: -1600.310058 | HPposy: 673.547973 | HPposz: -1600.310058
    Armor Pickup: ID: 1 | ARposx: -1598.520019 | ARposy: 673.344970 | ARposz: -1598.520019
    Duty Pickup: ID: 1 | Dposx: 0.000000 | Dposy: 0.000000 | Dposz: -1596.619995
    Heal Pickup: ID: 2 | HPposx: -1334.939941 | HPposy: 495.709014 | HPposz: -1334.939941
    Armor Pickup: ID: 2 | ARposx: -1342.979980 | ARposy: 500.394989 | ARposz: -1342.979980
    Duty Pickup: ID: 2 | Dposx: -1346.819946 | Dposy: 500.402008 | Dposz: -1346.819946
    Heal Pickup: ID: 3 | HPposx: 0.000000 | HPposy: 0.000000 | HPposz: 0.000000
    Armor Pickup: ID: 3 | ARposx: 0.000000 | ARposy: 0.000000 | ARposz: 0.000000
    Duty Pickup: ID: 3 | Dposx: 0.000000 | Dposy: 0.000000 | Dposz: 0.000000


    Also einmal vom Heal, Armor und Duty Pickup. (Heal Pickup=HPpos Koordinaten, Armor Pickup=ARpos Koordinaten, Duty Pickup=Dpos Koordinaten)
    Dafor die jeweilige ID
    Es wundert mich irgendwie... warum geht es nicht ?(

    Wenn deine Ausgabe so stimmt, dann sind deine X und Z Koordinaten die gleichen. Prüf das mal bitte ;)

  • Post vom 09.01.2013 ~ 23.00:


    Wenn deine Ausgabe so stimmt, dann sind deine X und Z Koordinaten die gleichen. Prüf das mal bitte ;)

    OK. Ich werde das mal morgen Kontollieren, da ich schon nicht mehr am PC bin. (Mit Handy geschrieben). Ich melde mich morgen dann morgen wieder.
    (Nur mal so nebenbei... Es ist mir gar nicht aufgefallen, dass die X & Z Koordinaten gleich sind xD)


    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Post vom 10.01.2013 ~ 21.42:


    So jetzt poste ich mal mein Ergebnis. Das war der Fehler.
    Ich bedanke mich sehr herzlich bei dir, dass du mir so gut geholfen hast.. Vielen Dank :)



    Schönen Abend noch und noch einen Grüß
    Darkii.[1337]

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen