Admin Problem

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
  • Guten Abend,


    Habe nach langer Pause heute mal wieder angefangen...
    folgendes habe ich probiert zu 'entwerfen'


    Also, wenn ich es eingebe, macht er alles. Das Problem nur ' egal welchen Rank ich angebe, es steht immer das ich als 'Spieler' markiert wurde.


    ocmd:teaminvite(playerid,params[])
    {
    if(SpielerInfo[playerid][pTeam]== 0)
    {
    new pID,rank,string[256], adminrank[20];
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,0xB4B5B7FF,"Benutze: /teaminvite [playerid] [Position]");
    if(rank<0||rank>3)return SendClientMessage(playerid,0xB4B5B7FF,"Dieser Rang ist nicht vorhanden.");
    switch(SpielerInfo[playerid][pTeam])
    {
    case 0:{adminrank="Spieler";}
    case 1:{adminrank="Supportteam";}
    case 2:{adminrank="Teamleiter";}
    case 3:{adminrank="Server Owner";}
    }
    format(string,sizeof(string),"Du wurdest von %s als Mitglied des/der %s markiert.",SpielerName(pID),adminrank);
    SendClientMessage(pID,0xB4B5B7FF,string);
    SpielerInfo[pID][pTeam]==rank;
    return 1;
    }
    return 1;
    }

    ehm. Administration StateV ~ Domi

    Einmal editiert, zuletzt von Dominik ()

  • Mach dir nen Stock ungefähr wie hier.
    stock Adminrang(playerid)
    {
    new rang[54];
    switch(PlayerInfo[playerid][pAdmin])
    {
    case 0:{rang="User";}
    case 1:{rang="Supporter";}
    case 2:{rang="Moderator";}
    case 3:{rang="Administrator";}
    case 1337:{rang="Full Administrator";}
    case 2000:{rang="Projektleitung";}
    default:{rang="ERROR";}
    }
    return rang;
    }
    Diesen kannst du dann überall verwenden.
    Verwendung sieht dann wie folgt aus.


    //edit, Klammer vergessen
    Adminrang(playerid)

  • switch(rank) // Nicht die Spielerdaten :-D , einfach nur rank
    {
    case 0:{adminrank="Spieler";}
    case 1:{adminrank="Supportteam";}
    case 2:{adminrank="Teamleiter";}
    case 3:{adminrank="Server Owner";}


    }


    Oder so :D

  • Keine Ahnung wie dein Befehl funktionieren soll, wenn du eine Variable einen wert zuweist aber 2x == gibst ?


    ocmd:teaminvite(playerid,params[])
    {
    if(SpielerInfo[playerid][pTeam]== 0)
    {
    new pID,rank,string[256], adminrank[20];
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,0xB4B5B7FF,"Benutze: /teaminvite [playerid] [Position]");
    if(rank<0||rank>3)return SendClientMessage(playerid,0xB4B5B7FF,"Dieser Rang ist nicht vorhanden.");
    SpielerInfo[pID][pTeam] =rank;
    switch(SpielerInfo[pID][pTeam])
    {
    case 0:{adminrank="Spieler";}
    case 1:{adminrank="Supportteam";}
    case 2:{adminrank="Teamleiter";}
    case 3:{adminrank="Server Owner";}
    }
    format(string,sizeof(string),"Du wurdest von %s als Mitglied des/der %s markiert.",SpielerName(pID),adminrank);
    SendClientMessage(pID,0xB4B5B7FF,string);
    return 1;
    }
    return 1;
    }

  • Funktioniert nun, das Problem nur ist das der Name nicht richtig angezeigt wird,
    also pID bekommt die Nachricht, aber es erscheint nicht der Name von dem der den befehl ausgeführt hat.


    Also die Nachricht ' Du hast %s bla bla ' funktioniert nicht richtig.


    Nur die Nachricht ' Du wurdest von %s funktioniert.

    ehm. Administration StateV ~ Domi

    Einmal editiert, zuletzt von Dominik ()


  • ocmd:teaminvite(playerid,params[])
    {
    if(SpielerInfo[playerid][pTeam]== 0)
    {
    new pID,rank,string[256], adminrank[20];
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,0xB4B5B7FF,"Benutze: /teaminvite [playerid] [Position]");
    if(rank<0||rank>3)return SendClientMessage(playerid,0xB4B5B7FF,"Dieser Rang ist nicht vorhanden.");
    SpielerInfo[pID][pTeam] =rank;
    switch(SpielerInfo[pID][pTeam])
    {
    case 0:{adminrank="Spieler";}
    case 1:{adminrank="Supportteam";}
    case 2:{adminrank="Teamleiter";}
    case 3:{adminrank="Server Owner";}
    }
    format(string,sizeof(string),"Du wurdest von %s als Mitglied des/der %s markiert.",SpielerName(playerid),adminrank);
    SendClientMessage(pID,0xB4B5B7FF,string);
    return 1;
    }
    return 1;
    }


    So sollste es klappen, wenn ich mich nicht irre