Befehl Probelm - Im Test werden die Playerids vertauscht ?? [HILFE Gesucht]

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 Jungs,
    ich weiß nicht warum, aber irgendwie vertauscht mein Script immer die Playerids im Text. Mache ich z.b wie hier /warn und dann die playerid steht da nicht die Playerid von dem anderen sondern meine obwohl ich auch in der Spielerdatei garnicht verwarnt wurde. Ich weiß nicht warum es so kommt. Vielleicht fehlt irgenwas im Script Befehl ?


    Es wäre nett wenn ihr mir dabei hefen könntet:
    Hier der Befehl warn:


    dcmd_warn(playerid,params[])
    {
    new pID;
    if(!IsPlayerConnected(pID))
    {
    SendClientMessage(playerid,weiß,"Der Spieler ist Offline");
    return 1;
    }
    if(GetPVarInt(playerid,"Adminlevel") >= 3)
    {
    if(AdminDuty[playerid] == 1)
    {
    new string[128];
    new grund;
    new spieler[MAX_PLAYER_NAME];
    new spieler2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    if(sscanf(params,"us",pID,grund))
    {
    SendClientMessage(playerid,weiß,"Verwendung: /warn [playerid] [Grund]");
    return 1;
    }
    SetPVarInt(pID,"Warn",GetPVarInt(pID,"Warn")+ 1);
    SpielerSpeichern(pID);
    if(GetPVarInt(pID,"Warn") >= 3)
    {
    format(string,sizeof string,"AdmCmd: %s wurde gebannt da er seinen dritten Warn bekommen hat.",spieler2);
    SendClientMessageToAll(adminrot,string);
    SendClientMessage(pID,adminrot,"Durch deinen dritten Warn wurdest du gebannt.");
    SetPVarInt(pID,"Bann",1);
    Ban(pID);
    }
    format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,grund);
    SendClientMessageToAll(adminrot,string);
    SendClientMessage(playerid,adminrot,"AdmCmd: Du hast einen Warn bekommen.");
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht im Admin Dienst"); }
    }
    return 1;
    }


    KP :D

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • ja ist doch ganz klar..
    überall wo für playerid steht, sollte ja für dein vorher defintes pID gelten..
    z.b. hier


    SendClientMessage(playerid,adminrot,"AdmCmd: Du hast einen Warn bekommen.");
    muss natürlich zu
    SendClientMessage(pID,adminrot,"AdmCmd: Du hast einen Warn bekommen.");


    logisch überlegen!

  • Ist mir aufgefallen, aber hier ist das Hauptproblem mit den IDS:


    format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,grund);
    SendClientMessageToAll(adminrot,string);

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,grund);
    SendClientMessageToAll(adminrot,string);


    Fällt etwas auf?


    Du musst es so machen (Pass es dann mal an)


    format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,Varibale von Adminname,grund);
    SendClientMessageToAll(adminrot,string);