Fehler bei OCMD befehl ?

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Schönen Guten abend ich habe einen Fehler und ich komme einfach nicht auf die Lösung ich hab entweder totales Blackout oder bin einfach zu dumm :D



    Hier der Code

    ocmd:ban(playerid,params[])
    {

    if(GetPVarInt(playerid,"Admin") >=1)
    {
    new Grund[256],pID;
    if(sscanf(params,"us",pID,Grund))
    {
    new string[128];
    new NAME[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Du wurdest von %s gebannt Grund: %s!",GetPlayerName(playerid,NAME,sizeof(NAME)),Grund);
    SendClientMessage(pID,INFO,string);
    format(string,sizeof(string),"Du hast %s gebannt Grund: %s!",GetPlayerName(pID,NAME,sizeof(NAME)),Grund);
    SendClientMessage(playerid,INFO,string);

    }
    SendClientMessage(playerid,INFO,"Benutze: /ban [Playerid | Namen] [Grund]");
    return 1;
    }
    SendClientMessage(playerid,INFO,"Du bist kein Admin");
    return 1;
    }


    Hier der Fehler
    error 033: array must be indexed (variable "Grund")


    Ich bedanke mich schonmal im vorraus :D

  • Dankeschön das hat geholfen aber noch eine Frage wieso führt er das nicht aus er gibt mir immer wieder die Info aus wie der befehl richtig geschrieben werden soll




    ocmd:ban(playerid,params[])
    {

    if(GetPVarInt(playerid,"Admin") >=1)
    {
    new Grund,pID;
    if(sscanf(params,"us",pID,Grund))
    {
    SendClientMessage(playerid,INFO,"1");
    new string[128];
    new NAME[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Du wurdest von %s gebannt Grund: %s!",GetPlayerName(playerid,NAME,sizeof(NAME)),Grund);
    SendClientMessage(pID,INFO,string);
    format(string,sizeof(string),"Du hast %s gebannt Grund: %s!",GetPlayerName(pID,NAME,sizeof(NAME)),Grund);
    SendClientMessage(playerid,INFO,string);
    return 1;



    }
    else
    SendClientMessage(playerid,INFO,"2");
    SendClientMessage(playerid,INFO,"Benutze: /ban [Playerid | Namen] [Grund]"); <-- Den hier
    }
    else
    SendClientMessage(playerid,INFO,"3");
    SendClientMessage(playerid,INFO,"Du bist kein Admin");
    return 1;
    }

  • Nunja, das ist kein Wunder mit dem Fehler das du nicht alle Parameter ausgefüllt hast.


    Du versucsht Grund was kein string ist zu einem String zu machen.
    Du musst also new Grund[32]; zB nehmen. Hier mein Befehl, die abfragen kannst du ja ändern, so hast du ein Beispiel wie es aus sehen könnte/sollte.



    ocmd:ban(playerid, params[])
    {
    if(!sInfo[playerid][sEingeloggt])return SendClientMessage(playerid, -1, "["#FARBE_ROT"FEHLER"#FARBE_WEISS"]: Du bist nicht Eingeloggt!");
    if(sInfo[playerid][sAdminrang] >= 1)
    {
    new pID, Grund[32], string[144], query[128];
    if(sscanf(params, "us[32]", pID, Grund))return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: /ban <"#FARBE_ORANGE"ID"#FARBE_WEISS"/"#FARBE_ORANGE"NAME"#FARBE_WEISS"> <"#FARBE_ORANGE"GRUND"#FARBE_WEISS">");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Der Spieler ist "#FARBE_ROT"nicht "#FARBE_WEISS"Online!");
    if(!sInfo[playerid][sEingeloggt])return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Der Spieler ist "#FARBE_ROT"nicht "#FARBE_WEISS"Eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Du kannst NPCs "#FARBE_ROT"nicht "#FARBE_WEISS"vom Server Verbannen!");
    if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Du kannst dich "#FARBE_ROT"nicht "#FARBE_WEISS"selbst Verbannen!");
    if(sInfo[pID][sAdminrang] >= sInfo[playerid][sAdminrang])return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Das Teammitglied hat ein "#FARBE_ROT"gleichen/höheren "#FARBE_WEISS"Rang als du.");
    format(string, sizeof(string), ""#FARBE_ROT"[%s]%s hat %s(%d) vom Server Verbannt! Grund: %s", GetPlayerAdminRang(playerid), sInfo[playerid][sName], sInfo[pID][sName], Grund);
    SendClientMessageToAll(-1, string);
    mysql_format(Handle, query, sizeof(query), "INSERT INTO `bans` (`IP`, `Spielername`, `Grund`, `Von`) VALUES ('%s', '%s', '%s', '%s')", SpielerIP(pID), sInfo[pID][sName], Grund, sInfo[playerid][sName]);
    mysql_pquery(Handle, query);
    }else SendClientMessage(playerid, -1, "["#FARBE_ORANGE"INFO"#FARBE_WEISS"]: Du hast "#FARBE_ROT"nicht "#FARBE_WEISS"die Rechte "#FARBE_WEISS"diesen Befehl zu benutzen!");
    return 1;
    }


    MfG.
    Aaron!

    Die Missglückte Persönlichkeit, Ciao!