Beiträge von Jeffry

    /*401*/ format(string, sizeof(string),""COLB"|===============Allgemeine Informationen===============|\n"COLO"Name: "COLW"%s\n"COLO"Level: "COLW"%d\n"COLO"Geld: "COLW"%d\n"COLO"Adminlevel:"COLW"%d\n"COLO"Fraktion:"COLW"%s\n"COLO"Rang:"COLW"%d",GetName(playerid), SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pAdminlevel],GetFrakName(SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pRang]));
    Zu
    /*401*/ format(string, sizeof(string),""COLB"|===============Allgemeine Informationen===============|\n"COLO"Name: "COLW"%s\n"COLO"Level: "COLW"%d\n"COLO"Geld: "COLW"%d\n"COLO"Adminlevel:"COLW"%d\n"COLO"Fraktion:"COLW"%s\n"COLO"Rang:"COLW"%d",GetName(playerid), SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pAdminlevel],GetFrakName(SpielerInfo[playerid][pFraktion]) ,SpielerInfo[playerid][pRang]);


    Du hast die pRang Variable in die GetFrakName Funktion geschrieben. Das war der Fehler.

    Ich habe es auf dem Link bereits ausführlich erklärt, in Kapitel 1.4 (4. Bei MySQL-Problemen → Debug Modus nutzen).
    Link öffnen => STRG+F => "Debug Modus nutzen" eingeben => Und schon bist du da wo du lesen sollst. Das wirst du doch sicher hinbekommen.


    Dort steht es für alle gängigen MySQL Plugins, was du machen sollst.

    ocmd:stats(playerid,params[])
    {
    new string[256];
    format(string, sizeof(string),""COLB"|===============Allgemeine Informationen===============|"COLO"Name: "COLW"%s\n"COLO"Level: "COLW"%d\n"COLO"Geld: "COLW"%d\n"COLO"Adminlevel:"COLW"%d\nFraktion:%s",GetName(playerid), SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pAdminlevel],GetFrakName(SpielerInfo[playerid][pFraktion]));
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,""COLO"4You Reallife Stats",string,"Ok","");
    return 1;
    }


    stock GetFrakName(fID)
    {
    new name[24];
    switch(fID)
    {
    case 0: name = "Keine";
    case 1: name = "Name der Frak 1";
    case 2: name = "Name der Frak 2";
    default: name = "Keine";
    }
    return name;
    }


    Keine Sorge, du nervst nicht. Ich helfe gerne. :)

    Dann mach doch bitte das was ich dir gesagt habe. Der MySQL Log ist hier sehr wichtig, da man in diesen hunderten Zeilen den Fehler so gut wie nicht finden kann, außer durch Zufall, oder ewiges Suchen.


    Also schalte bitte den MySQL Log an und poste was darin steht, wenn du den Spieler speicherst.

    mysql_SetInt(Tabelle_Spieler,"Rang",SpielerInfo[playerid][pLevel],"pRang",GetName(playerid));
    Zu
    mysql_SetInt(Tabelle_Spieler,"Rang",SpielerInfo[playerid][pRang],"pRang",GetName(playerid));

    Du hast doch einen Ordner in dem die samp-server.exe liegt. Öffne diesen Ordner, dann gehe in den gamemodes Order und öffne die .pwn Datei die da drin ist. Dann suche in dem Code den Teil, der den Spieler speichert.


    Wenn du allerdings überhaupt nicht weißt was du wo machen musst, dann rate ich dir auf deinen Bruder zu warten, der soll dir dann helfen.

    Unter Linux ist es meistens die beste Variante die static Version zu verwenden, wegen den Libraries.
    Unter Windows musst du natürlich die .dll verwenden, da Windows keine .so Dateien kennt, so wie Linux keine .dll Dateien kennt.

    Hier drei Tutorials die eigentlich alles beschreiben was du aufgezählt hast:


    1.) Mit MySQL speichern/laden: http://forum.sa-mp.com/showthread.php?t=392856
    2.) Für die Struktur der Befehle: http://forum.sa-mp.com/showthread.php?t=368631
    3.) Mit Dini (hat eigentlich alles, ist aber ziemlich chaotisch aufgebaut): http://forum.sa-mp.com/showthread.php?t=296601


    Das sollten mehr als genug Informationen sein um deine Wünsche zu erfüllen! ;)



    EDIT:
    Zeig mal deine Speicherfunktion, der Teil der Fraktion und Rang speichern soll.
    [PeL]Smiley: Siehe hier.

    Lass das Zeug hier mal weg:
    for(new i; i<objects; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_DRAW_DISTANCE, 800.0);
    Streamer_VisibleItems(STREAMER_TYPE_OBJECT,1000);


    Die Standardeinstellungen sind gut genug.


    Geht es dann?

    if(!IsPlayerInRangeOfPoint(playerid,5.0,252.2642,70.2172,1003.6406) && !IsPlayerInRangeOfPoint(playerid,7,230.8055,183.7916,1003.0313))return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an den Snack-Automaten!");


    Wenn nicht da und wenn nicht dort, schicke Nachricht.

    Schau mal hier, das ist ein Tutorials, das dir helfen sollte:
    http://forum.sa-mp.com/showthread.php?t=465410


    Oder du nutzt ein fertiges System, hier eine Auswahl:
    http://forum.sa-mp.com/showthread.php?t=269126
    http://forum.sa-mp.com/showthread.php?t=429651


    Du kannst dir auch ein fertiges System als Vorlage nehmen, und es praktisch "abpausen", sprich du nimmst dir einen Teil vor, und wenn du nicht weiter weißt schaust du in das fertige System wie es dort gemacht worden ist.
    Natürlich schreibst du es nicht 1:1 ab, das wäre ja sinnlos.

    Eine Box Position gibt es nicht, die hat ihren Startpunkt am Startpunkt des Textdraws, sprich an den Koordinaten von TextDrawCreate.
    TextDrawTextSize stellt dann die Größe der Box ein, wobei der X Parameter die Endposition ist, diese ist also eigentlich immer größer als der X Wert von TextDrawCreate. Der Y Wert ist nur für selektierbare Textdraws von Bedeutung, ist allerdings nicht sichtbar an der Box, da die sich in der Höhe nicht einstellen lässt über die Größe sondern nur über den Text darin.


    Am einfachsten ist es, wenn du einen Editor benutzt: http://forum.sa-mp.com/showthread.php?t=290640