Nach kick, freeze

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, Liebe Com.


    Ich möchte gerne wissen, wie man einen Freezed. Also,


    wenn man gekickt wird, ist man ja noch teilweise auf dem Server.
    Man kann noch rumlaufen, in Autos bzw. Bikes einsteigen. Und das möchte ich nicht. Ich möchte das wenn er gekickt ist, das er Freeze ist.
    Das er keine andere Möglichkeit hat, um zu Disconnecten.


    Ich hoffe, Ihr wisst was ich meine.


    Danke schonmal im Vorraus!


    ocmd:kick(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,ROT,"SERVER: Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"AdmCmd: /kick [id] [name]");
    format(string,sizeof(string),"SERVER: %s wurde gekickt.",(pID,playerid,reason));
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }


    MFG :)

  • Wenn man den Spieler kickt kann der Server den Spieler nicht mehr "kontrollieren".


    Was ist denn eigentlich so schlimm daran, wenn der gekickte Spieler noch auf dem Server rumlaufen kann, die anderen Spieler ihn nicht sehen und er unteranderem keine Befehle nutzen kann?


    Wenn es wirklich so ernst ist, dann lass den Spieler doch einfach crashen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Du musst das TogglePlayerControllable(); noch vor dem Kick(); einbauen.
    Also:
    ocmd:kick(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,ROT,"SERVER: Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"AdmCmd: /kick [id] [name]");
    format(string,sizeof(string),"SERVER: %s wurde gekickt.",(pID,playerid,reason));
    SendClientMessageToAll(ROT,string);
    TogglePlayerControllable(pID,0); //<---Hierhin
    Kick(pID);
    return 1;
    }

    Ich hab DoodleJump zuende gespielt oO

    Einmal editiert, zuletzt von Doodle ()