Ich brauche eine Kurze Erklährung

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
  • Hallo
    Ich arbeite nun mit einem Enum, da ich nicht weis wie ich in MySQL mit PVars Arbeiten kann,
    Und nun weis ich nicht wie ich das Richtig machen muss, bei meinem Makeadmin Befehl


    ocmd:makeadmin(playerid,params[])
    {
    new pID,rang, string[128],string2[128];
    if(sscanf(params,"ui",pID,rang)) return SendClientMessage(playerid,ROT,"Nutze: /makeadmin [SPIELER] [RANG]");
    format(string,sizeof(string),"Du hast %s den Adminrang %i gegeben",Spielername(pID),rang);
    SendClientMessage(playerid,BLAU,string);
    format(string2,sizeof(string2),"Du hast von %s den Adminrang %i Erhalten",Spielername(playerid),rang);
    SendClientMessage(playerid,BLAU,string2);
    SpielerInfo[pID][pAdmin] = 5;
    SavePlayer(pID);
    return 1;
    }


    Aber wenn ich diesen Nutze, wird in der DB nichts Eingetragen
    Ich habe in der BD folgendes Eingetragen


    SQL
    Name = Admin 
    Type = int 
    Length = 2 
    Decimals = 0 
    Allow Null = Kein Hacken


    Und die Länge von 2 sollte ja Reichen, es wird ja nur 1 Zahl rein geschrieben ..


    Kann mir jemand sagen was ich Falsch mache, denn ich habe noch nie mit Enums und MySQL Gearbeitet, und will das nun mal Lernen


    Ich Danke schonmal


    MFG
    Raphael

  • 1.Wie Sniper schon schrieb schick mal den "SavePlayer" stock bzw public
    2.Mach doch bei deinem Code
    also "SpielerInfo[pID][pAdmin]=rang;
    ocmd:makeadmin(playerid,params[])
    {
    new pID,rang, string[128],string2[128];
    if(sscanf(params,"ui",pID,rang)) return SendClientMessage(playerid,ROT,"Nutze: /makeadmin [SPIELER] [RANG]");
    format(string,sizeof(string),"Du hast %s den Adminrang %i gegeben",Spielername(pID),rang);
    SendClientMessage(playerid,BLAU,string);
    format(string2,sizeof(string2),"Du hast von %s den Adminrang %i Erhalten",Spielername(playerid),rang);
    SendClientMessage(playerid,BLAU,string2);
    SpielerInfo[pID][pAdmin] = rang;
    SavePlayer(pID);
    return 1;
    }
    Mein /makeadmin CMD ist so ähnlich aufgebaut kannst ihn dir ja mal anschauen

    Spoiler anzeigen
    ocmd:makeadmin(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,WEIß,"Du hast keine Rechte dazu");
    new pID,rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,WEIß,"Nutze: /makeadmin [ID] [0 - 6]");
    if(rank<0||rank>6)return SendClientMessage(playerid,WEIß,"Nur von 0 bis 6");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,WEIß,"Dieser Spieler ist nicht online");
    switch(rank) {
    case 0:{SendClientMessage(pID,ROT,"Du wurdest als Supporter entlassen");SpielerInfo[pID][pAdmin]=1;}
    case 1:{SendClientMessage(pID,GELB,"Du bist jetzt ClanMember");SpielerInfo[pID][pAdmin]=2;}
    case 2:{SendClientMessage(pID,GELB,"Du bist nun Moderator");SpielerInfo[pID][pAdmin]=3;}
    case 3:{SendClientMessage(pID,GELB,"Du bist nun Administrator");SpielerInfo[pID][pAdmin]=4;}
    case 4:{SendClientMessage(pID,GELB,"Du bist nun SuperAdmin");SpielerInfo[pID][pAdmin]=5;}
    case 5:{SendClientMessage(pID,GELB,"Du bist nun ServerManager");SpielerInfo[pID][pAdmin]=6;}
    case 6:{SendClientMessage(pID,GELB,"Du bist nun ServerOwner");SpielerInfo[pID][pAdmin]=7;}
    }
    SavePlayer(pID);
    return 1;
    }

  • Ich teste mal @Bird


    Hier mal der COde




    //Edit
    Hbe getestet, und in der DB Steht immernoch nichts

  • Du musst am ende
    also hier
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pAdmin]);
    immer SpielerInfo[playerid][pName] schreiben also
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);

  • //edit
    Klappt doch,
    Habe Admin einfach auf Float Gestellt, nun steht auch in der Datei der Rang

    Einmal editiert, zuletzt von Raphael ()