HIlfe - Invalid Player ID

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
  • Ich brauche hilfe.
    Und zwar habe ich ein paar cmd mit DCMD gemacht.
    Diese funktionieren auch so weit perfekt.
    Nur kann man jede id wählen, obwohl sie nicht online ist.


    Wie kann ich das auf die Momentan online id einschränken ?


    Ich hab schon selber was probiert es funkitoniert aber nicht. Der String-Text kommt trotzdem


    dcmd_kick(playerid,params[])
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,weiß,"Benutzung: /kick [ID]");
    }
    new zielid = strval(params);

    if(IsInAdmin[playerid] == 1)
    {
    if(zielid == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {
    if(zielid == playerid)
    {
    SendClientMessage(playerid,rot,"Du solltest dich besser nicht selber kicken");
    return 1;
    }
    else
    {
    new admin[MAX_PLAYER_NAME];
    new string[256];
    GetPlayerName(playerid,admin,sizeof(admin));
    format(string,sizeof(string),"Du wurdest von Admin %s gekickt",admin);
    SendClientMessage(zielid,braun,string);


    new string2[256];
    new gekickt[MAX_PLAYER_NAME];
    GetPlayerName(zielid,gekickt,sizeof(gekickt));
    format(string2,sizeof(string),"Admin-Command: Admin %s hat %s gekickt",admin,gekickt);


    Kick(zielid);

    SendClientMessageToAll(braun,string2);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Du bist nicht autorisiert um diesen Befehl ausführen zu können");
    return 1;
    }
    }

  • ICh habs dann jetzt so.


    Ich probiers gleich mal aus.


    Also es funktioniert nicht da steht immer noch "Admin Hagi hat gekickt"


    dcmd_kick(playerid,params[])
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,weiß,"Benutzung: /kick [ID]");
    }
    new zielid = strval(params);

    if(IsInAdmin[playerid] == 1)
    {
    if(!IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {
    if(zielid == playerid)
    {
    SendClientMessage(playerid,rot,"Du solltest dich besser nicht selber kicken");
    return 1;
    }
    else
    {
    new admin[MAX_PLAYER_NAME];
    new string[256];
    GetPlayerName(playerid,admin,sizeof(admin));
    format(string,sizeof(string),"Du wurdest von Admin %s gekickt",admin);
    SendClientMessage(zielid,braun,string);


    new string2[256];
    new gekickt[MAX_PLAYER_NAME];
    GetPlayerName(zielid,gekickt,sizeof(gekickt));
    format(string2,sizeof(string),"Admin-Command: Admin %s hat %s gekickt",admin,gekickt);


    Kick(zielid);

    SendClientMessageToAll(braun,string2);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Du bist nicht autorisiert um diesen Befehl ausführen zu können");
    return 1;
    }
    }

  • Ist mir auch grad aufgefallen.


    Habs so und funktioniert. Hätte wirklich selber ein bisschen mehr denken können XD


    if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {


    Mal ne andere Frage:
    Wie mache ich es dass nur Autos wo niemand drinsitzt respawnt werden ?
    Hier mein respawncmd


    public respawn1()
    {
    for(new car=0; car<CAR_AMOUNT; car++)
    {
    SetVehicleToRespawn(car);
    }
    return 1;
    }