>> Fraktionsmitglied hat sich eingeloggt / ausgeloggt buggt so rum. <<

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 ich habe sowas kleines gescriptet.
    Was auch in Pure Roleplay , Die sieben Zwerge und auch MrM vorhanden sind,
    soweit ich weiss.
    Nun dachte ich mir mal,
    sowas brauch ich auch, ich habe dann halt mal Angefangen, das zu Scripten.
    Die Meldung soll in etwa so aussehen.


    >> Fraktionsmitglied %s hat sich ausgeloggt. <<


    Wenn sich nun ein Spieler ausloggt kommt diese Meldung.
    Diese Meldung wird zwar ausgesendet, aber leider an alle Spieler auf den Server.


    Ich möchte gerne, das diese Meldung nur kommt wenn man in der gleichen Fraktion ist wie der Spieler
    der sich gerade da ausloggt. Der fehler ist, es wird an allen Spielerna uf den Server gesendet.
    Und beim Einloggen sieht es nicht anders aus. Meint ihr ihr könnt mir dabei helfen Leute ?


    Wenn ihr Lust habt, dann guckt euch diesen Code an, falls ihr keine Lust habt, dann hört hier auf zu Lesen
    und drückt entweder auf das Kreuz um euren Browser zu schliessen oder wenn ihr noch weiter auf diesen schönen Forum gucken wollt,
    dann klickt auf Zurück :)


    So hier der Code.


    |------------------------------------------------------------------------------------------------------------------|


    Das hier ist bei OnPlayerDisconnect drinne
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] > 0 || PlayerInfo[i][pMember] > 0 == PlayerInfo[playerid][pLeader] > 0 || PlayerInfo[playerid][pMember] > 0)
    {
    new str[144];
    format(str,144,"<< Fraktionsmitglied {FF0000}%s {33CCFF}hat sich ausgeloggt. >>",MeinName(playerid));
    SendClientMessage(i,0x33CCDDFF,str);
    }
    }
    }


    Und das hier ist bei OnPlayerLogin drinne
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] > 0 || PlayerInfo[i][pMember] > 0 == PlayerInfo[playerid][pLeader] > 0 || PlayerInfo[playerid][pMember] > 0)
    {
    new str[144];
    format(str,144,"<< Fraktionsmitglied {FF0000}%s {33CCFF}hat sich eingeloggt. >>",MeinName(playerid));
    SendClientMessage(i,0x33CCDDFF,str);
    }
    }
    }


    Das Buggt, die Nachricht wird an jede Spieler gesendet, egal ob ich in der Fraktion bin oder nicht.
    Hilfe

  • Sollte klappen, habs aber noch nicht getestet ;)


    OnPlayerDisconnect:
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] == PlayerInfo[playerid][pLeader] || PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember])
    {
    new str[144];
    format(str,144,"<< Fraktionsmitglied {FF0000}%s {33CCFF}hat sich ausgeloggt. >>",MeinName(playerid));
    SendClientMessage(i,0x33CCDDFF,str);
    }
    }
    }


    OnPlayerConnect
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] == PlayerInfo[playerid][pLeader] || PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember])
    {
    new str[144];
    format(str,144,"<< Fraktionsmitglied {FF0000}%s {33CCFF}hat sich eingeloggt. >>",MeinName(playerid));
    SendClientMessage(i,0x33CCDDFF,str);
    }
    }
    }


    Edits

    #1: Text angepasst
    #2: Code hinzugefügt
    #3: Code eingerückt, das sieht ja schrecklich aus ;)

    Windows ist wie ein U-Boot, öffnest du ein Fenster hast du ein Problem.


  • OnPlayerConnect(playerid);
    {
    if(SpielerDaten[playerid][pFraktion] != 0)
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && SpielerDaten[playerid][pFraktion] == SpielerDaten[i][pFraktion]))
    {
    new string[128]:
    format(string,sizeof(string),"Message: Fraktionsmitglied %s (Rang %i) hat sich eingeloggt",SpielerName(playerid),SpielerDaten[playerid][pRang]);
    SendClientMessage(i,hellblau,string);
    }
    }
    }
    }

  • Ich frage mich, warum du im Breadfish immer noch nicht gebannt bist?
    Schließlich wurde dein andere Acc auch gebannt ....
    B2T:


    Warum formatiert ihr den String in der For - Schleife?
    //Connect
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,sizeof(string),">> Fraktionsmitglied %s hat sich eingeloggt. <<",name);
    for(new i=0; i<MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(SpielerDaten[i][pFraktion] == SpielerDaten[playerid][pFraktion]){
    SendClientMessage(i,hellblau,string);
    }
    }
    }

    Und dann würde doch alles passen -.-