Player Connected

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
  • Hi, habe ein Problem mit if IsPlayerConnected.
    ocmd:saveplayer(playerid,params[])
    {
    new text[60], pID;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,MAX_PLAYER_NAME);
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Befehl: /saveplayer [ID]");
    format(text,sizeof(text),"Du hast %s gespeichert!",name);
    SendClientMessage(playerid,ROT,text);
    SendClientMessage(pID, ROT, "Daten wurden gespeichert ... Dies kann einen kleinen Moment zu Laggs führen!");
    savePlayer(pID);
    return 1;
    }


    Wenn ich jetzt /saveplayer mache und eine ID nehme die nicht auf dem Server ist will ich das angezeigt haben SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!");
    Ich bekomme aber dann Du hast Kontrax gespeichert. UND Den Befehle /saveplayer angegebene ID gibt es nicht.

  • Du musst deine sscanf Abfrage vor der Spieler Abfrage machen. ;)
    ocmd:saveplayer(playerid,params[])
    {
    new text[60], pID;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,MAX_PLAYER_NAME);
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Befehl: /saveplayer [ID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!");
    format(text,sizeof(text),"Du hast %s gespeichert!",name);
    SendClientMessage(playerid,ROT,text);
    SendClientMessage(pID, ROT, "Daten wurden gespeichert ... Dies kann einen kleinen Moment zu Laggs führen!");
    savePlayer(pID);
    return 1;
    }


    Homez 8)

  • Das GetPlayerName muss auch unter die sscanf Abfrage, sonst wird er dir jedes mal den Namen des Spielers mit der ID 0 ausgeben.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.