Problem mit CMD-Varianten

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
  • Heyy,


    Wenn ich /sethp mache muss man dafür Aduty sein das funktioniert auch aber das gibt mir Warnings wenn ich das bsp bei /setarmor dann auch mache gibt das wieder ein Error hier der Code:
    CMD:sethp(playerid, params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    new Float:hp, pID;
    if(Spieler[playerid][pAdmin] < 3)return SendClientMessage(playerid, COLOR_GREY, ERROR_ADMIN);
    if(Spieler[playerid][pAdminDuty] == false)return SendClientMessage(playerid,COLOR_GREY,ERROR_ADUTY);
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid, COLOR_GREY, "Du kannst die HP höherer Team-Mitglieder nicht ändern.");
    if(sscanf(params, "uf", pID, hp))return SendClientMessage(playerid, COLOR_GREY, "Benutze /sethp [SpielerID/Name] [Leben]");
    if(hp < 0 || hp > 10000)return SendClientMessage(playerid, COLOR_GREY, "Die Leben müssen zwischen 0 und 10.000 sein.");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, ERROR_OFFLINE);
    if(IsPlayerNPC(pID))return 1;
    SetPlayerHealth(pID, hp);
    if(hp > 125.0)pSetHP[pID] = 1;
    return 1;
    }


    Die Zeile:
    if(Spieler[playerid][pAdminDuty] == false)return SendClientMessage(playerid,COLOR_GREY,ERROR_ADUTY);
    #define ERROR_ADUTY"Du bist nicht im Administrations-Dienst."
    Woran kann das liegen?
    Bitte um hilfe.

    2 Mal editiert, zuletzt von RastaZopf. ()

  • Da ich mal vermute das du MySQL verwendest finde ich den Wert


    if(!Spieler[playerid][pAdminDuty])return SendClientMessage(playerid,COLOR_GREY,ERROR_ADUTY);


    komisch


    Ich hätte es so geschrieben


    if(!Spieler[playerid][pAdminDuty] <3)return SendClientMessage(playerid,COLOR_GREY,ERROR_ADUTY);


    Da heißt es dann ist pAdminDuty Wert kleiner als 3 gibt den SendClientMessage aus.
    Ich glaub denn so kann jeder den Befehl ausführen weil ja nicht angegeben wird welchen wert er verwenden soll

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So wie ich es gemacht habe und Szertockz es gesagt hat war es richtig hab ein anderen Fehler nun:


    if (PRESSED(KEY_N))
    {
    cmd_heal(playerid);
    cmd_ausruesten(playerid);
    return 1;
    }
    Gibt 2 Warnings für cmd_heal & cmd_ausruesten nur noch das dann ist jut. xD

  • Zeig uns die beiden befehle bitte einmal + den genauen fehlercode

    Der Befehl hat damit nichts zutun da das einfach nur ein return des Befehls ist und der Befehl funktioniert perfekt. Er gibt mir halt Warnings wegen den zwei cmd_heal & ausruesten wenn ich das rausnehme dann keine mehr.

  • Beitrag von robbi2304 ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: weg ().
  • Versuch es mal so
    if (PRESSED(KEY_NO))[size=12]{cmd_heal(playerid, "");cmd_ausruesten(playerid, "");return 1;}[/size]

    Vielen Dank funktioniert :)

    Du redest die ganze Zeit von Warnings, wie wär's wenn du die mal mit entsprechenden Zeilenmarkierungen posten würdest?

    Hab ich du schlaubi und siehst ja er kann mir das erklären rede einfach nicht mit wenn du mir nicht hilfst dumm sowas...