ocmd

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
  • hey, wir muss man dass schreiben?


    ocmd:kick(playerid,params[])
    {
    new pID, reason[128], string[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Red,"Der angegebene Spieler ist nicht online.");
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Red,"Du bist nicht befugt!");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Red,"Eingabe: /kick [ID] [Grund]");
    format(string,sizeof(string),"%s hat %s gekickt! Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
    SendClientMessageToAll(Red,string);
    Kick(pID);
    return 1;
    }



    ocmd:kick(playerid,params[])
    {
    new pID, reason[128], string[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Red,"Der angegebene Spieler ist nicht online.");
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Red,"Du bist nicht befugt!");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Red,"Eingabe: /kick [ID] [Grund]");
    format(string,sizeof(string),"%s hat %s gekickt! Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
    {
    SendClientMessageToAll(Red,string);
    Kick(pID);
    }
    return 1;
    }


    also muss man da nach einer if abfrage einrücken???

  • musste nicht verstehen:D sowie ichs beim ersten habe passts oder?


    dann noch was, was habe ich hier bei dem isplayerconnected falsch gemacht? das funktioniert irgendwie nicht


    ocmd:makeadmin(playerid,params[])
    {
    new pID, rang, string[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Red,"Der angegebene Spieler ist nicht online.");
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Red,"Du bist nicht befugt!");
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Red,"Eingabe: /makeadmin [ID] [Level]");
    format(string,sizeof(string),"%s hat %s zum Admin befördert!(Rang %i)",SpielerName(playerid),SpielerName(pID),rang);
    SendClientMessageToAll(Red,string);
    SetPVarInt(playerid,"Adminlevel",rang);
    return 1;
    }

  • if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Red,"Eingabe: /makeadmin [ID] [Level]");
    das gehört ganz oben hin.
    Du musst ja als erstes die Variablen über sscanf aus deiner Eingabe einen Wert zuteilen.

    ocmd:makeadmin(playerid,params[])
    {
    new pID, rang, string[128];
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Red,"Eingabe: /makeadmin [ID] [Level]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Red,"Der angegebene Spieler ist nicht online.");
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Red,"Du bist nicht befugt!");
    format(string,sizeof(string),"%s hat %s zum Admin befördert!(Rang %i)",SpielerName(playerid),SpielerName(pID),rang);
    SendClientMessageToAll(Red,string);
    SetPVarInt(playerid,"Adminlevel",rang);
    return 1;
    }

  • Du hast deine abfrage. IsPlayerConnected, über deinen sscanf Code gepostet das muss dadrunter gepostet werden damit er auch hinterher abfragt ob der Spieler Online ist, also:


    ocmd:makeadmin(playerid,params[])
    {
    new pID, rang, string[128];
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Red,"Du bist nicht befugt!");
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Red,"Eingabe: /makeadmin [ID] [Level]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Red,"Der angegebene Spieler ist nicht online.");
    format(string,sizeof(string),"%s hat %s zum Admin befördert!(Rang %i)",SpielerName(playerid),SpielerName(pID),rang);
    SendClientMessageToAll(Red,string);
    SetPVarInt(playerid,"Adminlevel",rang);
    return 1;
    }