[FEHLER] bei (!IsPlayerConnected(pplayerid)) hilfe !

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
  • Immer wenn ich den Befehl eingebe und die id nich vorhanden ist zeigt es nicht "kein spieler mit dieser id online" an sondern führt den befahl aus und lässt die felder mit pplayerid aus ...
    hier ein Beispiel:
    dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    return 1;
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }
    dann steht da "Du hast gefreezed."
    Oder wenn ich mich zu einer id porte die es nicht gibt porte ich immer auf x.y.z = 0.


    Hilfe ?? MfG bad_company

  • also weiß jetzt nicht den fehler hier aber er muss doch auch unfreezet werden oder machst du 2 cmd´s?


    TogglePlayerControllable(playerid,1);

  • Hab ich doch gepostet fast so wie du ^^



    Aber ich finde 2 in 1 ist leichter und script wir übersichtlicher odeR hab ich unrecht?



    + sparst zeilen!

  • Oki danke das geht jetz aber kannste mir verraten wie ich das mache das ich das frage ob er schon freeze ist ??
    hier der unfreeze:
    dcmd_unfreeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    return 0;
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/unfreeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s ungefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,1);
    format(string,sizeof(string),"Du hast %s ungefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }
    mit
    if TogglePlayerControlable(pplayerid,0) ! = 0 ???

  • Erstell ne Variable


    new pifreezed[MAX_PLAYERS];


    Setzz sie auf true oder false


    pifreezed[playerid] = 1;


    pifreezed[playerid] = 0;


    Frag ab ob sie true oder false ist


    if(pifreezed[playerid] == 0)


    if(pifreezed[playerid] == 1)

  • aber wenn ich jetz TogglePlayerControlable(pplayerid, 0)
    mit pifreezed[playerid] = 0; erstetze weiß dan Pawno das er ihnm freezen soll ?


    //Edit: achne xD ich bin doof habs geschafft :

    new pfreeze[MAX_PLAYERS];
    //############# FREEZE ##############
    dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(pfreeze[pplayerid]== 1)
    {
    SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler is schon gefreezed.");
    }
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }


    //############ UNFREEZE ##########
    dcmd_unfreeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(pfreeze[pplayerid] == 0)
    {
    SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler ist nicht gefreezed.");
    }
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/unfreeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s ungefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,1);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s ungefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }
    danke sehr ^^ :thumbup: da weiß ich gleich wie ich das beim afk mache ^^

  • dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(pfreeze[pplayerid]== 1)
    {
    SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler is schon gefreezed.");
    }
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }

    Das kann doch garnicht gehen o.o pplayerid wird definiert, und gleich abgefragt aber die ID vom Spieler wurde doch garnicht in die Variable geschrieben?!


    dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(pInfo[playerid][admin] >= 4)
    {


    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    if(!IsPlayerConnected(pplayerid))return SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    if(pfreeze[pplayerid]== 1)return SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler is schon gefreezed.");


    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }

  • habs gemerkt das es net geht wolltes grade posten :(
    naja aber wieso kann man die pplayerid nicht definieren und gleich abfragen ohne dazwichen die playerid zu definieren ?
    und danke dir ^^