Nachricht wird 2mal gesendet [ need help ]

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
  • In meinen Report-System hab ich einen /sup befehl
    Die Nachricht wird aber 2mal an den Supporter und KEIN mal an den Supported-User gesendet.


    Hier der Befehl:



    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(Supporter[playerid],0xFF00A5FF,string);
    SendClientMessage(Supported[playerid],0xFF00A5FF,string);
    return 1;
    }

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(Supporter[playerid],0xFF00A5FF,string);
    SendClientMessage(playerid,0xFF00A5FF,string);
    return 1;
    }
    du musst natürlich auch beim zweiten sendclientmessage auf die playerid, ansetzen : O

  • hey mach es so
    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(playerid,0xFF00A5FF,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ || /* Admin Abfrage */ == /* Admin Level */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */
    {
    SendClientMessage(playerid,0xFF00A5FF,string);
    }
    }
    return 1;
    }
    Oder so da bin ich mir Grade nicht Gans Sicher
    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(playerid,0xFF00A5FF,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ || /* Admin Abfrage */ == /* Admin Level */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */
    {
    SendClientMessage(i,0xFF00A5FF,string);/*ob I Oder Playerid*/
    }
    }
    return 1;
    }

  • Thx für deine Hilfe, ist aber genau das gleiche :(


    ja denk mal nach wieso es zweimal an den Player gesendet wird fällt dir was auf


    SendClientMessage(Supporter[playerid],0xFF00A5FF,string);
    SendClientMessage(Supported[playerid],0xFF00A5FF,string);


    so kan dies hier nicht auftreten


    SendClientMessage(Supporter[playerid],0xFF00A5FF,string);
    SendClientMessage(playerid,0xFF00A5FF,string);


    hier wird es einmal an den Supporter geschickt so wie ich deine definition auffasse Supporter[playerid] und einmal an den Spieler



    kifkat die untere version ist richtig


    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(playerid,0xFF00A5FF,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ || /* Admin Abfrage */ == /* Admin Level */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */
    {
    SendClientMessage(i,0xFF00A5FF,string);/*ob I Oder Playerid*/
    }
    }
    return 1;
    }


    wegen deiner for schleife muss dort auch i stehen für die spieler welche Supporter sind

  • ich check eure eingeklammerten nicht :D


    Könnt ihr mir es mal so machen wie ihr es machen würdet? ich schreibs dann um.


    Diesen Abschnitt check ich nicht :D
    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ || /* Admin Abfrage */ == /* Admin Level */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Was kann man daran nicht verstehen


    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ || /* Admin Abfrage */ == /* Admin Level */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */


    Du fügst hier einfach die Abfrage ein ob der Spieler ein Supporter ist musst anstatt playerid ein i einsetzen da eine for schleife vorhanden ist willst es nur für supporte rmachen


    entfernst du das



    if(/* Supporter If Abfrage */ == /* Welsches Level Vom Supporter */ && IsPlayerConnected(i))/*IsPlayerConnected Ist Wer Online */



    ein Beispiel definition aus einem Godfather


    if(PlayerInfo[i][pSupporter] >= 1 && IsPlayerConnected(i))


    mal echt ich habs gefühl die User in breadfish werden von Woche zu Woche immer dümmer

  • PlayerInfo[playerid][pAdmin]


    IsPlayerConnected(playerid)




    Und wird das dann nicht an alle Admins gesendet?????

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • doch doch.


    Aber ich check das nicht ganz?


    Hier mal mein /taketicket befehl, vllt hilft es euch ja



    dcmd_taketicket(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 1){
    new string[128],Name[MAX_PLAYER_NAME],Admin[MAX_PLAYER_NAME],ticketid;
    GetPlayerName(playerid, Admin, sizeof(Admin));
    if(sscanf(params,"u",ticketid)){return SendClientMessage(playerid, COLOR_LIGHTBLUE,"Info: /taketicket [TicketID]");}
    GetPlayerName(ticketid, Name, sizeof(Name));
    format(string, sizeof(string),"Tickets/%s.txt",Name);
    if(!dini_Exists(string)){return SendClientMessage(playerid, COLOR_RED,"TicketID existiert nicht!");}
    SendClientMessage(playerid, 0x00FF00FF,dini_Get(string,"Text"));
    dini_Remove(string);
    Supporter[ticketid] = playerid;
    Supported[playerid] = ticketid;
    format(string, sizeof(string),"%s bearbeitet nun deinen Report.",Admin);
    SendClientMessage(ticketid, 0xFFFF00FF,string);
    SendClientMessage(ticketid, 0xFF00A5FF,"Du kannst mit ihm per /sup [text] chatten.");
    SendClientMessage(ticketid, 0xFF00A5FF,"Wenn alles geklärt ist gib /sticket ein.");
    format(string, sizeof(string),"Supporter %s hat den Report von %s angenommen!",Admin,Name);
    SendAdminMessage(COLOR_BLUE,string);
    SupportTicket[ticketid] = -1;
    Tickets --;
    HatTicket[ticketid] = 0;
    SuppAktiv[playerid] = 1;
    SuppAktiv[ticketid] = 1;}
    return 1;
    }

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

    Einmal editiert, zuletzt von [LoG]Freakynight ()

  • SupportTicket[ticketid] = -1;
    Tickets --;
    HatTicket[ticketid] = 0;
    SuppAktiv[playerid] = 1;
    SuppAktiv[ticketid] = 1;}


    Ist das nicht 2mal :)?

    Zitat

    SuppAktiv[ticketid] = 1
    SupportTicket[ticketid] = -1;

  • Nein :D
    SupportTicket[MAX_PLAYERS] ist für /tickets, also die offenen tickets, und bei /taketicket wird es halt eins weniger gesetzt :D


    Ich hoffe mir kann trotzdem einer helfen.





    //EDIT:



    Es geht wieder!

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

    Einmal editiert, zuletzt von [LoG]Freakynight ()