/makeadmin anwenden auch wenn spieler Offline ist?

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, wie mach ich das ich einem Spieler der Offline ist bsp. seine ID also in der db das auto_increement id dings eingeben muss oder halt den genauen namen weil ich denk mit dem genauen namen wäre das gescheiter wie mache ich das nun?


    Habe hier mein /makeadmin befehel
    ocmd:makeadmin(playerid,params[])
    {
    new pID,rang,str[128];
    if(!IstSpielerAdmin(playerid,5)) return ErrorA;
    if(sscanf(params,"ud",pID,rang)) return SendClientMessage(playerid,GRAU,"FEHLER: /makeadmin [ID] [aLEVEL]");
    if(rang <0 || rang >5) return SendClientMessage(playerid,-1,"Bitte nur 0-5 Adminrang eingeben!");
    pInfo[pID][pAdmin]=rang;
    format(str,sizeof(str),"AdmCmd: Leitung %s hat %s zu einem %s ernannt!",SpielerName(playerid),SpielerName(pID),AdminName(pID));
    SendAdminMessage(ROT,str,1);
    format(str,sizeof(str),"Du wurdest durch Leitung %s zu einem %s ernannt!",SpielerName(playerid),AdminName(pID));
    SendClientMessage(playerid,BLAU,str);
    SaveData(pID);
    return 1;
    }


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • du musst den genauen namen eingeben und nach diesen in der tabelle den rang updaten


    benutze den stock von maddin also wenn ich das dann richtig verstehee


    mysql_SetInt("accounts","Admin",rang,"Name",SpielerName(pID));


    Aber pID ist ja die ID die ich im SScanf abfrage ? ?(


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • setzt nen string und update damit ;)
    Und gewöhn dir den scheiß mit dem setint zeug ab, das is fürn arsch lieber nen update query.
    So zb.



    new name[MAX_PLAYER_NAME],query[128],rang;
    if(sscanf(params,"sd",name,rang))return SendClient...
    format(query,sizeof(qzery),"UPDATE `accounts` SET `Admin`='%d' WHERE `Name`='%s'",rang,name);
    //query abschicken


  • ja aber ich will das u ja drin behalten d.h user sowit ich weiß und wenn ich jetzt sud mache returnt er mir das ich ja noch ein string ID/NAME RANG eingeben muss


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • dann probiere es mal so.

    ocmd:makeadmin(playerid,params[])
    {
    new pID,rang,str[128];
    if(!IstSpielerAdmin(playerid,5)) return ErrorA;
    if(sscanf(params,"ud",pID,rang)) return SendClientMessage(playerid,GRAU,"FEHLER: /makeadmin [ID] [aLEVEL]");
    if(rang <0 || rang >5) return SendClientMessage(playerid,-1,"Bitte nur 0-5 Adminrang eingeben!");
    if(IsPlayerConnected(pID))
    {
    pInfo[pID][pAdmin]=rang;
    format(str,sizeof(str),"AdmCmd: Leitung %s hat %s zu einem %s ernannt!",SpielerName(playerid),SpielerName(pID),AdminName(pID));
    SendAdminMessage(ROT,str,1);
    format(str,sizeof(str),"Du wurdest durch Leitung %s zu einem %s ernannt!",SpielerName(playerid),AdminName(pID));
    SendClientMessage(playerid,BLAU,str);
    SaveData(pID);
    }
    else
    {
    format(query,sizeof(qzery),"UPDATE `accounts` SET `Admin`='%d' WHERE `Name`='%s'",rang,pID);
    mysql_query(query);
    }
    return 1;
    }