[HILFE]Was stimmt hier 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
  • Hallo Community,


    Ich habe hier mal ein /admins befehl erstellt, aber er funktioniert noch nciht richtig.
    So sieht er momentan aus:



    if (strcmp("/admins", cmdtext, true, 10) == 0)
    {
    new string[64];
    new aName[MAX_PLAYER_NAME];
    for(new i = 0; i< MAX_PLAYERS; i++)
    {
    SendClientMessage(playerid,Weis,"****Admins Online****");
    if(sSpieler[playerid][Adminlevel] >= 1)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Moderator: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[playerid][Adminlevel] >= 2)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Supporter: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[playerid][Adminlevel] >= 3)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Administrator: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[playerid][Adminlevel] >= 4)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"ServerOwner: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    }
    return 1;
    }


    Mein Problem ist, ich habe mich als Admin Level 3 eigestuf und wenn ich /admins eingebe steht da Moderator und das auch mehrmals hintereinander.
    So hier sieht meine Adminabfrage aus:



    stock IstSpielerAdmin(playerid,level)
    {
    if(sSpieler[playerid][Adminlevel] >= level) return 1;
    return 0;
    }

  • else if(sSpieler[i][Adminlevel] >= 4)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"ServerOwner: %s",aName);
    SendClientMessage(playerid,Weinrot,string);


    }


    Du musst anstatt [playerid], [i] verwenden.


    Gruß
    Perry_Cox

    "Stay hungry! Stay foolish!" - Steve Jobs

  • Liegt nicht an der Schleife du Troll.



    if (strcmp("/admins", cmdtext, true, 10) == 0)
    {
    new string[64];
    new aName[MAX_PLAYER_NAME];
    for(new i = 0; i< MAX_PLAYERS; i++)
    {
    SendClientMessage(playerid,Weis,"****Admins Online****");
    if(sSpieler[i][Adminlevel] == 1) {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Moderator: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[i][Adminlevel] == 2)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Supporter: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[i][Adminlevel] == 3)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"Administrator: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    else if(sSpieler[i][Adminlevel] == 4)
    {
    GetPlayerName(i,aName,sizeof(aName));
    format(string,sizeof(string),"ServerOwner: %s",aName);
    SendClientMessage(playerid,Weinrot,string);
    }
    }
    return 1;
    }

    "Stay hungry! Stay foolish!" - Steve Jobs


  • Wenn ich das so mache steht nur da ****Admins Online**** und das spamt auch nocht den chatt zu ?
    Aber wenn ich es so mache else if(sSpieler[playerid][Adminlevel] == 4) steht wenigstens Administrator:... da.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen