Donator System geht nicht

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
  • Hay.
    Ich habe ein Donator System aber es geht nicht sprich wenn ich /makedonator mache kommt die ganze zeit nur das : "/makedonator [ID] [BETRAG] & wenn ich die ID usw. eingebe kommt es nochmal so als ob man denn Befehl erst eingegeben hat. Vielleicht kann mir einer ja helfen... Danke im Voraus.


    Code:
    ocmd:makedonator(playerid,params[])
    {
    new thewho,
    donrank,
    string[128],
    name[MAX_PLAYER_NAME],
    adminname[MAX_PLAYER_NAME];
    printf("%d %s",thewho,name);
    if(sscanf(params,"ddd",thewho,donrank))
    {
    return SendClientMessage(playerid, COLOR_GOLD, "Benutzung: /makedonator [ID] [Rang]");
    }
    if(PlayerInfo[playerid][pAdmin] > 1338)
    {
    return SendClientMessage(playerid, COLOR_LIGHTRED, "Du darfst das nicht !");
    }
    if(!IsPlayerConnected(thewho))
    {
    return SendClientMessage(playerid, COLOR_LIGHTRED, "Ungültige PlayerID!");
    }
    GetPlayerName(thewho,name,sizeof(name));
    GetPlayerName(playerid,adminname,sizeof(adminname));
    if(donrank == 0)
    {
    PlayerInfo[thewho][pDonateRank] = donrank;
    format(string,sizeof(string),"Dein Donatorrang wurde von dem Admin %s weggenommen",adminname);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string,sizeof(string),"Du hast den Donatorrang von %s weggenommen.",name);
    return SendClientMessage(thewho, COLOR_LIGHTRED, string);
    }
    return 1;
    }


    Lg

  • Hier versuch es mal so:



    ocmd:makedonator(playerid,params[])
    {
    new thewho, donrank,name[MAX_PLAYER_NAME],string[128];
    if(PlayerInfo[playerid][pAdmin] > 1338) return SendClientMessage(playerid, COLOR_LIGHTRED, "Du darfst das nicht !");
    if(sscanf(params,"dd",thewho,donrank))return SendClientMessage(playerid, COLOR_GOLD, "Benutzung: /makedonator [Name/ID] [Rang]");
    if(!IsPlayerConnected(thewho))return SendClientMessage(playerid, COLOR_LIGHTRED, "Ungültige PlayerID!");
    if(donrank == 0)
    {
    GetPlayerName(thewho,name,sizeof(name));
    GetPlayerName(playerid,adminname,sizeof(adminname));
    PlayerInfo[thewho][pDonateRank] = donrank;
    format(string,sizeof(string),"Dein Donatorrang wurde von dem Admin %s weggenommen",adminname);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string,sizeof(string),"Du hast den Donatorrang von %s weggenommen.",name);
    SendClientMessage(thewho, COLOR_LIGHTRED, string);
    printf("%d %s",thewho,name);
    }
    return 1;
    }

  • mach es so:
    Du fragst abst ab ob der rank 0 ist, falls nicht, was dann? genau rank geben ;)



    ocmd:makedonator(playerid,params[])
    {
    new thewhodonrank,string[128],name[MAX_PLAYER_NAME];
    if(sscanf(params,"ddd",thewho,donrank))return SendClientMessage(playerid, COLOR_GOLD, "Benutzung: /makedonator [ID] [Rang]");
    if(PlayerInfo[playerid][pAdmin]>1338)return SendClientMessage(playerid, COLOR_LIGHTRED, "Du darfst das nicht !");
    if(!IsPlayerConnected(thewho))return SendClientMessage(playerid, COLOR_LIGHTRED, "Ungültige PlayerID!");
    if(donrank == 0)
    {
    PlayerInfo[thewho][pDonateRank] = donrank;
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Dein Donatorrang wurde von dem Admin %s weggenommen",adminname);
    SendClientMessage(thewho, COLOR_LIGHTRED, string);
    GetPlayerName(thewho,name,sizeof(name));
    format(string,sizeof(string),"Du hast den Donatorrang von %s weggenommen.",name);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    }
    else
    {
    PlayerInfo[thewho][pDonateRank] = donrank;
    }
    return 1;
    }