bei meinem /kick befehl kick ich mich immer selber pls help!!

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
  • Bitte Packe den code in Und beende ihn mit [/pwn]
    Damit es für uns Übersichtlicher ist


    MFG
    Sladekillder


  • ocmd:kick(playerid,params[])
    {
    new pID, Grund[128], string[128], name1[24], name2[24];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"Admin System : %s wurde von Admin %s gekickt! Grund : %s",name2,name1,Grund);
    SendClientMessageToAll(ROT,string);
    GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(pID,0);
    Kick(playerid);
    return 1;
    }

  • achne das du dich selber kicks ...


    Mach von:
    Kick(playerid);


    Zu:
    Kick(pID);

  • also so?



    ocmd:kick(playerid,params[])
    {
    new pID, Grund[128], string[128], name1[24], name2[24];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"Admin System : %s wurde von Admin %s gekickt! Grund : %s",name2,name1,Grund);
    SendClientMessageToAll(ROT,string);
    GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(pID,0);
    Kick(pID);
    return 1;
    }

  • ocmd:kick(playerid,params[])
    {
    new pID, Grund[128], string[128], name1[24], name2[24];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"Admin System : %s wurde von Admin %s gekickt! Grund : %s",name2,name1,Grund);
    SendClientMessageToAll(ROT,string);
    GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(pID,0);
    Kick(pID);// wen du hier playerid angibst wird das nichts
    return 1;
    }


    //edit: da ist mir jemand zu vor gekommen :D

  • ocmd:kick(playerid,params[])
    {
    new pID, Grund[128], string[128], name1[24], name2[24];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"Admin System : %s wurde von Admin %s gekickt! Grund : %s",name2,name1,Grund);
    SendClientMessageToAll(ROT,string);
    GameTextForPlayer(pID,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(pID,0);
    Kick(pID);
    return 1;
    }


    // Edit: Pawn Format

    Mit unfreundlichen Grüßen
    Buschmensch

  • benutzt du sscanf als stock oder als include ?


    include ist verbuggt bei 0.3d ;D

  • ok habs gemacht wenn ich irgendeinen namen nehme werde ich nicht mehr gekickt aber oben steht trotzdem ILikeChees wurde von Admin ILikeChees gekickt!
    aber ich bin nicht gekickt wenn ich dann /kick ILikeChees mache dann steht das gleiche und ich bin halt gekickt...

  • ocmd:kick(playerid,params[])
    {
    new pID; // Erstellt die ID des anderen Spieler (des Spielers der gekickt werden soll.)
    new string[128]; // string sollte eigentlich klar sein. 128 ist die länge des Strings.
    new grund[128]; // DAs ist die Variabel des Grundes (Im Befehl muss man /kick [playerid] und den [Grund] eingeben.
    new spieler[MAX_PLAYER_NAME], spieler2[MAX_PLAYER_NAME]; // Gehört zur erstellung der IDs von uns und des anderen Spielers. (spieler sind wir, spieler 2 der andere spieler)


    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin."); // Wenn der Spieler admin rank 3 ist oder einen höheren besitzt. alles dadrunter kann den befehl nicht ausführen.
    {
    if(sscanf(params,"us",pID,grund)) // was soll alles geschehen ?? (einmal soll die id des Spielers angegeben werden und danach der Grund.. "u = ID, s = grund"
    return SendClientMessage(playerid,WEISS,"Verwendung: /kick [playerid] [Grund]"); // siehe eine Zeile oben
    if(!IsPlayerConnected(pID)) { return SendClientMessage(playerid,WEISS,"Der Spieler ist offline"); } // Wenn der angegebene Spieler nicht da ist.
    GetPlayerName(playerid,spieler,sizeof spieler);//erstellt unsere ID und dient dazu damit später unser name in der nachricht angezeigt werden kann
    GetPlayerName(pID,spieler2,sizeof spieler2); // erstellt die ID des gekickten spielers. pID = spieler2. Dient auch für die spätere Nachricht
    format(string,sizeof string,"SERVER: %s wurde von %s gekickt. Grund: %s.",spieler2,spieler,grund); // ist die nachricht und sollte eigentlich klar sein,
    SendClientMessageToAll(ROT,string); // diese nachricht wird dem Server angezeigt. bei %s werden die Ids angezeigt und der angegebene Grund.
    format(string,sizeof string,"SERVER: Du wurdest von %s gekickt. Grund: %s.",spieler,grund); // diese nachricht wird dem gekickten spieler vor dem kick mit
    SendClientMessage(pID,ROT,string); // kick (pID) angezeigt.
    Kick(pID); // kickt den spieler im anschluss
    }
    return 1;
    }
    Ich habe es so und bei mir klapt alles versuch mal

  • if(strcmp(cmd, "/makeadmin", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1339 || IsPlayerAdmin(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makeadmin [ID] [Level]");
    return 1;
    }
    new para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    new level = strval(tmp);
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[para1][pAdmin] < level)
    {
    printf("AdminSystem: %s hat %s zu einem Level %d Admin befördert.", sendername, giveplayer, level);
    format(string, sizeof(string), "Du wurdest durch %s zu einem Level %d Admin befördert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s zu einem Level %d Admin befördert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    printf("AdminSystem: %s hat %s zu einem Level %d Admin degradiert.", sendername, giveplayer, level);
    format(string, sizeof(string), "Du wurdest durch %s zu einem Level %d Admin degradiert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s zu einem Level %d Admin degradiert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    PlayerInfo[para1][pAdmin] = level;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht befugt diesen Befehl zu nutzen!");
    }
    return 1;
    }


    MfG (Nicht getestet!)