Würde dieser Befehl Ingame Funktionieren?

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 Zusammen.


    Ich habe da mal ein paar Befehle cecodet & Wollte mal die Pawno Scripter fragen, ob Diese so Überhaupt ingame Funktionieren.


    Hier die Befehle:
    ocmd:ban(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] == 5)return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",playerid,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(playerid),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    pInfo[playerid][Baned] = 1;
    Ban(playerid);
    return 1;
    }


    Information: An dem Script, habe ich Folgendes Geändert:

    Ban(pID); zu Ban(playerid);
    if(sscanf(params,"us",pID,reason)) zu if(sscanf(params,"us",playerid,reason))
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin."); zu if(pInfo[playerid][Adminlevel] == 5)


    Hier mein Zweiter Befehl:
    ocmd:clear(playerid,params[])
    {
    if(pInfo[playerid][Fraktion] == 1 || 2)return SendClientMessage(playerid,ROT,"Du bist kein Beamter.");
    if(sscanf(params,"u",playerid))return SendClientMessage(playerid,BLAU,"Benutzung: /clear [ID]");
    if(playerid == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Der Spieler ist nicht Online.");
    SetPlayerWantedLevel(playerid,0);
    return 1;
    }


    Mein Dritte befehl:
    ocmd:setadmin(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] == 5)return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    if(sscanf(params,"ui",pInfo[playerid][Adminlevel] == 1))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
    if(pInfo[playerid][Adminlevel]<0||pInfo[playerid][Adminlevel]>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
    SpielerSpeichern(playerid);
    SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
    return 1;
    }


    Hoffe es, kann mir jemand Eventuell Fehler sagen bzw. Erkennbar machen.


    Habe hier noch ein paar Andere Befehle & suche jemanden, der mir Dabei helfen kann.
    Fraktionlevel Speichern
    Erweiterung Eines Befehls
    Frage zu UCP Von Grex


    Mit Freundlichen Grüßen
    Dome331

  • ocmd:ban(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] == 5)return SendClientMessage(playerid,ROT,"Du bist kein Admin.");// Hier würde das bedeuten das wenn er ein Admin Level 5 ist das er dann das nicht darf wiichtig mach es so:
    // pInfo[playerid][Adminlevel] != 5) return ..... warum so ? Weil das : != Bedeutet wenn nicht
    new pID, reason[128],string[128];
    if(sscanf(params,"us",playerid,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]"); // playerid ? pID wenn denn
    //also if(sscanf(params,"us",pID,reason))
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(playerid),SpielerName(playerid),reason); // Nächster Fehler
    // Hier würde folgendes Kommen : AdmCmd : Player wurde von Player gebannt Grund Reason... ? Ersetze bei dem ersten SpielerName einfach playerid durch pID
    SendClientMessageToAll(ROT,string);
    pInfo[playerid][Baned] = 1;
    //Du würdest dich selber bannen also
    Ban(playerid);
    //pInfo[pID][Baned] = 1;
    //Ban(pID);
    return 1;
    }


    so 2. Befehl
    ocmd:clear(playerid,params[])
    {
    if(pInfo[playerid][Fraktion] == 1 || 2)return SendClientMessage(playerid,ROT,"Du bist kein Beamter."); // What mach es so :
    // if(pInfo[playerid][Fraktion] != 1 || pInfo[playerid][Fraktion] != 2) return
    // hier fehlt ein new pID;
    if(sscanf(params,"u",playerid))return SendClientMessage(playerid,BLAU,"Benutzung: /clear [ID]");
    //Das brauchen wir auch hier direkt einfach statt playerid also if(sscanf(params,"u",playerid)) mach es so : if(sscanf(params,"u",pID))
    if(playerid == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Der Spieler ist nicht Online.");
    //playerid gegen pID
    SetPlayerWantedLevel(playerid,0);
    // und das gleiche wieder playerid gegen pID austauschen
    return 1;
    }


    3. Befehl


    ocmd:setadmin(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] == 5)return SendClientMessage(playerid,ROT,"Du bist kein Admin."); // == zu !=
    // new pID , rank;
    if(sscanf(params,"ui",pInfo[playerid][Adminlevel] == 1))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]"); //pInfo[playerid][Adminlevel] ? mach es so :
    // so : if(sscanf(params,"ui",pID,rank))
    if(pInfo[playerid][Adminlevel]<0||pInfo[playerid][Adminlevel]>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
    //pInfo[playerid][Adminlevel] zu rank
    SpielerSpeichern(playerid);
    //SpielerSpeichern(pID); du willst dich ja nicht selber speichern ...
    SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
    return 1;
    }


    so müssten sie jetzt alle gehen