Navi Zeigt die navipunkte nicht an

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
  • da kommt nur Es wurden noch keine Navi Punkte festgelegt, bitte warte noch ein bisschen
    ob wohl alles in der datenbank gespeichert wird
    @Jeffry <3 :P



    ocmd:navi(playerid,params[])
    {
    if (PlayerInfo[playerid][pNavi] == 1)
    {
    new string[1024];
    new bool:check = true;
    for(new n = 1; n <sizeof(NaviInfo);n++)
    {
    if(NaviInfo[n][naAktiv] == 1)
    {
    if(check)
    {
    check = false;
    format(string,sizeof(string),"{87FF00}Marker entfernen\n{FFFFFF}%s",NaviInfo[n][naName]);
    } else {
    format(string,sizeof(string),"%s\n%s",string,NaviInfo[n][naName]);
    }



    }
    }
    if(check)
    {
    SendClientMessage(playerid,COLOR_GREY,"Es wurden noch keine Navi Punkte festgelegt, bitte warte noch ein bisschen.");
    return 1;
    }
    ShowPlayerDialog(playerid,DIALOG_NAVI_KATEGORIEN,DIALOG_STYLE_LIST,"Navigations System",string,"Auswählen","Abbrechen");
    }
    else SendClientMessage(playerid,COLOR_GREY,"Du besitzt kein Navigationssystem.");
    return 1;
    }




    if(dialogid == DIALOG_NAVI_KATEGORIEN)
    {
    if(response)
    {
    new gpsziel[128];
    if(listitem == 0)
    {
    SendClientMessage(playerid, blau, "(== GPS-Ziel wurde entfernt ==)");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    for(new n = 1; n <sizeof(NaviInfo);n++)
    {
    if(listitem == NaviInfo[n][naID])
    {
    format(gpsziel, sizeof(gpsziel), "(== GPS-Ziel: %s ==)", NaviInfo[n][naName]);
    SendClientMessage(playerid, blau, gpsziel);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, NaviInfo[n][naX],NaviInfo[n][naY],NaviInfo[n][naZ],8);
    GPS[playerid] = 1;
    }
    }
    }
    }
    }

  • Nein. Das macht doch keinen Sinn.


    Poste bitte deinen Code, der die Daten aus der Datenbank lädt.

    die DB ist im Anhang



    if(dialogid == DIALOG_NAVI_MENUE)
    {
    if(response)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1340)
    {
    switch(listitem)
    {
    case 0:
    {
    format(string, sizeof(string), "{FFFFFF}Bitte klicken Sie auf löschen um\nden NaviPunkt[{F50000}%s{FFFFFF}]zu löschen.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName]);
    ShowPlayerDialog(playerid, DIALOG_NAVI_LOESCHEN, DIALOG_STYLE_MSGBOX, "NaviPunkt Löschen",string, "Löschen", "Abbrechen");
    }
    case 1:
    {
    format(string, sizeof(string), "{FFFFFF}Bitte klicken Sie auf ausführen um\nden Namen des NaviPunktes [{F50000}%s{FFFFFF}]zu ändern.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName]);
    ShowPlayerDialog(playerid, DIALOG_NAVI_UMBENENNEN, DIALOG_STYLE_INPUT, "NaviPunkt Editieren(Name)",string, "Umbenennen", "Abbrechen");
    }
    case 2:
    {
    format(string, sizeof(string), "{FFFFFF}Bitte klicken Sie auf ausführen um\ndie Position des NaviPunktes[{F50000}%s{FFFFFF}]zu setzen.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName]);
    ShowPlayerDialog(playerid, DIALOG_NAVI_VERSETZEN, DIALOG_STYLE_MSGBOX, "NaviPunkt Editieren(Position)",string, "Setzen", "Abbrechen");
    }
    }
    }
    }
    else {return 1;}
    }
    if(dialogid == DIALOG_NAVI_LOESCHEN)
    {
    if(response)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1340)
    {
    format(string, sizeof(string), "NaviPunkt[{F50000}%s{FFFFFF}]erfolgreich gelöscht.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName]);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    format(query, 128, "DELETE FROM `NaviPunkte` WHERE `id` = '%d' LIMIT 1",GetPVarInt(playerid, "NaviMenuID"));
    mysql_query(query);
    loadnavipoins();
    }
    }
    else {return 1;}
    }
    if(dialogid == DIALOG_NAVI_NEUER)
    {
    if(response && strlen(inputtext) > 1)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1340)
    {
    format(string, sizeof(string), "Du hast erfolgreich den Navipunkt{FFFFFF}[{F50000}%s{FFFFFF}]erstellt.", inputtext);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    format(query, 128, "INSERT INTO NaviPunkte (cvar, Name, X, Y, Z) VALUES ('%d', '%s', '%.1f', '%.1f', '%.1f')", 1, inputtext, x,y,z);
    mysql_query(query);
    loadnavipoins();
    }
    }
    else {return SendClientMessage(playerid, COLOR_GRAD1, "Der Name für den Punkt ist zu kurz!");}
    }
    if(dialogid == DIALOG_NAVI_UMBENENNEN)
    {
    if(response)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1340)
    {
    format(string, sizeof(string), "NaviPunkt[{F50000}%s{FFFFFF}]erfolgreich zu %s umbenannt.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName],inputtext);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    format(query, 128, "UPDATE `NaviPunkte` SET `Name`='%s' WHERE `id`='%d'",inputtext,GetPVarInt(playerid, "NaviMenuID"));
    mysql_query(query);
    strmid(NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName], inputtext, 0, strlen(inputtext), 255);
    loadnavipoins();
    mysql_free_result();
    }
    }
    else {return 1;}
    }
    if(dialogid == DIALOG_NAVI_VERSETZEN)
    {
    if(response)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1340)
    {
    format(string, sizeof(string), "NaviPunkt[{F50000}%s{FFFFFF}]erfolgreich an deine jetztige Position gesetzt.", NaviInfo[GetPVarInt(playerid, "NaviMenuID")][naName]);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    format(query, 128, "UPDATE `NaviPunkte` SET `X`='%.1f',`Y`='%.1f', `Z`='%.1f' WHERE `id`='%d'",x,y,z,GetPVarInt(playerid, "NaviMenuID"));
    mysql_query(query);
    loadnavipoins();
    mysql_free_result();
    }
    }
    else {return 1;}
    }
    if(dialogid == DIALOG_NAVI_KATEGORIEN)
    {
    if(response)
    {
    new gpsziel[128];
    if(listitem == 0)
    {
    SendClientMessage(playerid, blau, "(== GPS-Ziel wurde entfernt ==)");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    for(new n = 1; n <sizeof(NaviInfo);n++)
    {
    if(listitem == NaviInfo[n][naID])
    {
    format(gpsziel, sizeof(gpsziel), "(== GPS-Ziel: %s ==)", NaviInfo[n][naName]);
    SendClientMessage(playerid, blau, gpsziel);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, NaviInfo[n][naX],NaviInfo[n][naY],NaviInfo[n][naZ],8);
    GPS[playerid] = 1;
    }
    }
    }
    }
    }

  • Das ist nicht der Code zum laden der Punkte.


    Poste die Funktion loadnavipoins


    forward loadnavipoins();
    public loadnavipoins()
    {
    /*if(mysql_ping() != 0)*/
    //if(mysql_ping() == 1)
    if(mysql_ping() == 0)
    {
    print("Loading Navipunkte");
    new loop=1,nploaded=0,counter=1;
    while(loop < sizeof(NaviInfo))
    {
    NaviInfo[loop][naAktiv] = 0;
    if(mysql_GetIntByInt("NaviPunkte","cvar","id",loop) == 1)//Wenn der NaviPunkt existiert und aktiv ist
    {

    NaviInfo[loop][naID] = counter;
    NaviInfo[loop][naAktiv] = mysql_GetIntByInt("NaviPunkte","cvar","id",loop);
    NaviInfo[loop][naX] = mysql_GetFloatByInt("NaviPunkte","X","id",loop);
    NaviInfo[loop][naY] = mysql_GetFloatByInt("NaviPunkte","Y","id",loop);
    NaviInfo[loop][naZ] = mysql_GetFloatByInt("NaviPunkte","Z","id",loop);
    NaviInfo[loop][naKategorie] = mysql_GetIntByInt("NaviPunkte","Kategorie","id",loop);
    strmid(NaviInfo[loop][naName], mysql_GetStringByInt("NaviPunkte","Name","id",loop), 0, 64, 255);
    nploaded++;
    counter++;
    }
    loop++;
    }
    printf("%d Navi Punkte geladen",nploaded);
    }
    return 1;
    }