Account daten MySQL nicht geändert

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 Leute ich habe mehrere Probleme mit meinem Script :(
    Ich habe einen /makeadmin befehl und noch ein paar andere sowie einen neulingsroller der leute die über level 2 sind raus werfen soll. Passiert aber nichts weder kann ich die admin sachen in der datenbank ändern noch anderes kann mir jmd sagen warum ? Hier meine Zeilen


    }
    if(!strcmp(cmdtext,"/makeadmin",true)){
    new pID,adminlevel,string[128],name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,"Du besitzt nicht den Adminrang 5!");
    if(sscanf(cmdtext,"ud",pID,adminlevel)){
    SendClientMessage(playerid,-1,"/makeadmin [id][adminlevel]");
    SendClientMessage(playerid,-1,"Admin Level");
    SendClientMessage(playerid,-1,"Level 1 = Supporter");
    SendClientMessage(playerid,-1,"Level 2 = Adminrang 1");
    SendClientMessage(playerid,-1,"Level 3 = Adminrang 2");
    SendClientMessage(playerid,-1,"Level 4 = Server Leitung");
    return SendClientMessage(playerid,-1,"Level 5 = Scripter");
    }
    SpielerS[pID][pAdminlvl] = adminlevel;
    format(string,128,"Admin %s hat dich zum Admin [%d] gemacht!",SpielerS[playerid][pName],adminlevel),SendClientMessage(pID,-1,string);
    return mysql_SetInt("accounts","Adminlvl",SpielerS[pID][pAdminlvl],"pName",SpielerS[pID][pName]);
    }


    enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pGeld,
    pKills,
    pTode,
    pAdminlvl,
    pFraktion,
    Float:pHealth
    }


    Neulingsroller


    //neulingsfahrzeuge
    new NeulingsFahrzeuge[10];


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new i=0;i<sizeof NeulingsFahrzeuge;i++){
    if(vehicleid == NeulingsFahrzeuge[i]){
    if(GetPlayerScore(playerid)>2)return TogglePlayerControllable(playerid,0),TogglePlayerControllable(playerid,1);
    }
    }
    return 1;
    }

  • Zu deinem Roller:
    Du kickst den Spieler nicht mal raus, du lässt Ihn freezen und entfreezen.
    Mit "RemovePlayerFromVehicle(playerid);" schmeißt du Ihn raus.


    Der Code


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new i=0;i<sizeof NeulingsFahrzeuge;i++){
    if(vehicleid == NeulingsFahrzeuge[i]){
    if(GetPlayerScore(playerid)>2)return TogglePlayerControllable(playerid,1); RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }


    So zu deinem /makeadmin:

    if(!strcmp(cmdtext,"/makeadmin",true)){
    new pID,adminlevel,string[128],name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,"Du besitzt nicht den Adminrang 5!");
    if(sscanf(cmdtext,"ui",pID,adminlevel))return SendClientMessage(playerid,-1,"/makeadmin [id][adminlevel]");
    {
    SendClientMessage(playerid,-1,"~~| Admin Level |~~");
    SendClientMessage(playerid,-1,"Level 1 = Supporter");
    SendClientMessage(playerid,-1,"Level 2 = Adminrang 1");
    SendClientMessage(playerid,-1,"Level 3 = Adminrang 2");
    SendClientMessage(playerid,-1,"Level 4 = Server Leitung");
    SendClientMessage(playerid,-1,"Level 5 = Scripter");
    if(adminlevel<0||adminlevel>5)return SendClientMessage(playerid,-1,"Bitte gib einen Rang von 1-5 an");
    }
    SpielerS[pID][pAdminlvl] = adminlevel;
    format(string,128,"Admin %s hat dich zum Admin [%d] gemacht!",SpielerS[playerid][pName],adminlevel),SendClientMessage(pID,-1,string);
    SendClientMessage(pID,-1,string);
    SavePlayer(pID);
    }



    Mach dir am besten ein stock:
    stock SavePlayer()
    {
    mysql_SetInt("accounts","Adminlvl",SpielerS[pID][pAdminlvl],"pName",SpielerS[pID][pName]);
    ....
    .....
    .....
    ....
    }


    So müsste es gehen.