Fraktions chat fehler..

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
  • Schönen guten Abend Community, ich stehe grade soziehmlich aufm Schlauch ( übermüdet -.- )...


    aufjedenfall finde ich den blöden Fehler nicht .. der Chat Funktioniert nicht immer :/ und wenn dann sendet er nur das erste
    Wort... ich weiß es muss iwas kleines sein...


    ocmd:f(playerid, params[])
    {
    new string[256];
    new text;
    new DerSpieler[MAX_PLAYERS];
    GetPlayerName(playerid,DerSpieler,sizeof DerSpieler);
    if(SpielerInfo[playerid][pFraktion] <= 0)return SendClientMessage(playerid, COLOR_GREY, "Fehler: Du bist in keiner Fraktion / Gang / Mafia!");
    if(sscanf(params,"s",text))return SendClientMessage(playerid, COLOR_YELLOW, "Hinweis: /f [Text]");
    format(string,sizeof(string),"( (Fraktions-Chat) %s %s: %s )", GetPlayerRank(playerid), DerSpieler, text);
    if(SpielerInfo[playerid][pFraktion] == 1) { PolizeiChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 2) { FahrschulChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 3) { MedicChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 4) { O_AmtChat(COLOR_LIGHTBLUE,string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 5) { ArmeeChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 6) { NewsChat(COLOR_LIGHTBLUE,string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 7) { GroveChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 8) { BallasChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 9) { CamorraChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 10) { YakuzaChat(COLOR_LIGHTBLUE, string); return 1; }
    else if(SpielerInfo[playerid][pFraktion] == 11) { FBIChat(COLOR_LIGHTBLUE, string); return 1; }
    return 1;
    }


    Greetz 8)


    //EDIT Der Chat funktioniert dann nicht wenn ich z.B einmal /f eingebe aber wenn ich direkt /f lala eingebe bekomme
    ich immer nur das erste wort..

    Einmal editiert, zuletzt von K3V1N ()

  • Du musst eine for schleife setzen.
    Du musst abfragen wenn jemand etwas schreibe (playerid) und (i) Member der jeweiligen Fraktion ist, soll er ihm das Ausgeben...


    Wenn du nicht weißt was eine Schleife ist hier:


    Code
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    	// Was soll passieren? ( IN deinem Fall Soll der MEmber (i) der in der Fraktion ist die Nachricht bekommen)
    }


    Hier hast du mal einen Fraktionschat von mir der LSPD:



    Ich habe es halt so gemacht, das ich jede Fraktion einzelnt abgefragt habe, diejenigen Ränke bekommen dann noch einen Namen zugeteilt usw.


    Mit freundlichen Grüßen
    BlackxSoul

  • Am stock liegt es nicht ;) So blöd bin ich auch nicht mir fällt grade einfach nichts mehr ein -.-


    stock PolizeiChat(color,const message[])
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && SpielerInfo[i][pFraktion] == 1)
    {
    SendClientMessage(i,color,message);
    }
    }
    return 1;
    }